본문 바로가기

Database/Oracle

(24)
SUB Query --Query안의 Query --한개의 행(row)에서 결과 값이 반환되는 Query SELECT 단일 ROW 단일 COLUMN (산출되는 데이터가 한개, COLUMN도 한개) FROM 다중 ROW 다중 COLUMN WHERE 다중 ROW 다중 COLUMN NVL(컬럼, 컬럼이 NULL의 경우 설정할 값) NVL2(컬럼, 컬럼이 NULL이 아닐 경우 설정할 값, 컬럼이 NULL일경우 설정 할 값) --SELECT : 단일 ROW 단일 COLUMN SELECT employee_id, first_name, (SELECT salary --단일COLUMN FROM employees WHERE employee_id = 100),--단일ROW (SELECT COUNT(*) --GROUP함수도 사용가능 FROM em..
헷깔린 문제~ SELECT 컬럼, Sub Query, 함수(표준, 그룹) FROM 테이블명, DUAL, Sun Query WHERE 조건, JOIN, IN, ANY, ALL, NOT, BETWEEN, LIKE, IS NULL, Sub Query ... GROUP BY 컬럼, 컬럼 HAVING 조건절 ORDER BY 컬럼 ASC, 컬럼 DESC ; --문제4) EMPLOYEES 테이블에서 이름의 첫 글자가 ‘K’ 보다 크고 ‘Y’보다 적은 --사원의 정보를 사원번호, 이름, 업무, 급여, 부서번호를 출력하라. --단 이름순으로 정렬하여라. -> 이름을 글자 하나씩 추출(substr), 콤마(,)가 아닌 AND로 연결 SELECT employee_id, first_name, job_id, salary, department..
문자 SELECT EMPNO , ENAME , LOWER(ENAME) AS LOWER -- 소문자 출력 , UPPER(LOWER(ENAME)) AS UPPER -- 대문자 출력 , INITCAP(ENAME) AS INITCAP -- 첫 글자 이니셜만 대문자 출력 , LENGTH(ENAME) AS LENGTH -- 문자열 길이 출력 , INSTR(ENAME,'E') AS INSTR -- 문자열 E의 위치 값 출력 , SUBSTR(ENAME,1,3) AS SUBSTR -- 문자의 1번째부터 3번째까지 문자열 출력 , LPAD(ENAME,6,'@') AS LPAD -- 오른쪽정렬 후 왼쪽 6자리까지 @로 채움 , RPAD(ENAME,6,'@') AS RPAD-- 왼쪽정렬 후 오른쪽 6자리까지 @로 채움 , LTRI..
JOIN P키 - NULL값을 허용하지 않고 중복되면 안됨 F키 - 외부 키( 외부테이블에서 가져온 키) 사용목적 : 우리테이블에 없는 정보를 상대방 테이블로 대입해서 데이터를 가져오기위함 *JOIN 두개 이상의 테이블을 연결에서 데이터를 검색하는 방법이다 보통 두개이상의 행(row)들의 공통된 값 Primary Key(기본 키), Foreign Key(외래 키)값을 사용해서 JOIN한다. *Primary Key(기본 키) : 테이블에서 중복이 되지않고 null값을 허용하지 않는 키 -- id, 주민번호 등 *Foreign Key(외래 키) : 다른 테이블에서 PK, UK인 경우가 많다 *JOIN의 종류 inner JOIN : 교집합 *****(중요도) full outer JOIN cross JOIN outer ..
SORTING, GROUP BY, 통계 --ORDER BY : SORTING SELECT * FROM TABLE ORDER BY sal ASC -> 오름차순 ORDER BY sal DESC -> 내림차순 NULLS FIRST NULLS LAST -> 빈칸이 아래로가게 --오름차순 SELECT ename, sal FROM emp ORDER BY sal ASC; --ASC는 생략가능 --내림차순 SELECT ename, sal FROM emp ORDER BY sal DESC; -- alias SELECT empno, ename, sal * 12 AS annsal FROM emp ORDER BY annsal DESC; SELECT ename, comm FROM emp ORDER BY comm NULLS FIRST; --NULL이 위로 옴 SELEC..
WHERE --WHERE 절 == IF == 조건절 표현식 비교 연산자 (>, =, = 9000; --이름이 Shanta 보다 큰 이름 SELECT first_name FROM employees WHERE first_name >= 'Shanta'; SELECT first_name FROM employees WHERE first_name >= 'a'; --아무것도 안나옴 -> ASCII CODE 값 이후 데이터들 SELECT first_name, last_name FROM employees WHERE manager_id Is NULL; --manager_id = ''; 라고는 에러 SELECT first_name, last_name FROM employees WHERE manager_id Is NOT NULL; CO..
오라클 기본 함수1 (날짜//+++) CHAR : 10BYTE 00000 00000 ABC : ABC00 00000 가(3BYTE) + (10BYTE-1) = 12 가나(3BYTE*2) + (10BYTE-2) = 14 가나다(9BYTE) + 7 = 16 ※ LENGTH : 문자열의 길이를 반환 ※ LENGTHB : 문자열의 BYTE 를 반환 -- Table --table 생성 CREATE TABLE 테이블명( 컬럼명1 자료형, 컬럼명2 자료형, 컬럼명3 자료형 : ); --table 삭제 DROP TABLE 테이블명; -- 자료형 java oracle int Integer, NUMBER double NUMBER(정수의 자리수, 소수의 자리수) String VARCHAR2, CHAR Date DATE table 기본 생성 -- 문자열 -- C..
오라클 기본함수2 NVL(컬럼, 컬럼이 NULL의 경우 설정할 값) NVL2(컬럼, 컬럼이 NULL이 아닐 경우 설정할 값, 컬럼이 NULL일경우 설정 할 값) DUAL Table -> 오라클에서 지원하는 결과 확인용 Table --DUAL Table : 가상 테이블 -> 결과 확인용 Table SELECT 1 FROM DUAL; -- 1 SELECT 'A' FROM DUAL; SELECT '가나' FROM DUAL; SELECT 23 * 45 FROM DUAL; -- 1035 문자 함수 -- CHR( N ) : ASCII 코드 값을 문자로 변환하는 문장 SELECT CHR(65) FROM DUAL; -- A SELECT CHR(97) FROM DUAL; -- a 문자열 + 문자열 -- "안녕하세요" + "건강하세요" =..