본문 바로가기

스터디35

[Oracle] 집합연산자 (SET) - INTERSECT, MINUS, UNION SET 연산자는 마지막에 실행 SET 연산자가 포함하는 질의를 복합 질의라고 함 SET 연산자는 서브쿼리에서도 사용 됨 ( ) 가 없을 경우, SQL문장에서 순선대로 실행, 명시적 표현을 위해 ( ) 사용 권함 조회하는 테이블의 SELECT 컬럼수가 맞아야 함 - 컬럼수가 맞추기 어려운경우, 컬렴에 NULL 을 추가 - 칼럼 1, 칼럼 2, 칼럼 3 = NULL, 칼럼 1, 칼럼 2 ORDER BY 절에서 사용되는 칼럼은 첫번째 SELECT 목록에 있어야 함 조회 테이블 기본정보 조회 -- 테이블 조회 Select D.Deptno D, E.Deptno E From Dept D Full Join Emp E On D.Deptno = E.Deptno Group By D.Deptno, E.Deptno Order.. 2021. 4. 18.
[Oracle] ANSI SQL 조인 NATURAL JOIN - 두 테이블에 동일한 칼럼명이 있을경우 자동 조인함 SELECT E.ename, D.dname, e.deptno FROM emp E, dept D WHERE E.deptno = D.deptno; -- deptno 의 칼럼이 양테이블에 있기때문에, 정확한 테이블 별명을 넣어야 한다. SELECT E.ename, D.dname, deptno FROM emp E NATURAL JOIN dept D; --deptno는 두 테이블에 중복이므로, 별명이 생략되어야 함 T1 JOIN T2 USING (칼럼명, ..., 칼럼명N) - 비교 칼럼이 여러개 인 경우 USING에 선언 SELECT E.ename, D.dname, deptno FROM emp E JOIN dept D USING (de.. 2021. 4. 18.
[Oracle] JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, (+) WHERE 절 JOIN SELECT t1.ename, t1.sal, T2.* FROM emp t1, salgrade T2 WHERE t1.sal BETWEEN T2.losal AND T2.hisal; WHERE 절 JOIN하기 옵션 (+) 방법 - 오라클만 가능 select d.dname, l.city from dept d, locations l where d.loc_code = l.loc_code(+); (+)가 없는 테이블 ROW가 전체 출력 됨, DEPT DNAME > INSA 정보까지 보기 위해, locations 테이블에 (+) 함 LEFT JOIN, RIGHT JOIN SELECT D.DNAME, L.LOC_CODE FROM DEPT D LEFT JOIN LOCATIONS L -- FROM D.. 2021. 4. 18.
[Oracle] RANK, DENSE_RANK, ROW_NUMBER, NTILE, LAG, LEAD RANK() OVER, RANK() OVER(PARTITION BY 그룹), SELECT EMPNO, ENAME, DEPTNO, SAL, RANK() OVER (ORDER BY SAL DESC) "RANK" FROM EMP; 사원번호, 이름, 부서번호, 급여, 급여가 많은 사원부터 순위 조회 사원번호, 이름, 부서번호, 급여, 부서 내에서 급여가 많은 사원부터 순위 조회 SELECT EMPNO, ENAME, DEPTNO, SAL, RANK() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) "RANK" FROM EMP; DENSE_RANK() OVER, DENSE_RANK() OVER(PARTITION BY 그룹) ORDER BY 절에 사용된 컬럼이나 표현식에 대하여 순위.. 2021. 4. 17.