SELECT *
FROM EMP
WHERE SAL > (
SELECT SAL
FROM EMP
WHERE ENAME = 'JONES'
)
SELECT *
FROM EMP
WHERE SAL IN (
SELECT MAX(SAL)
FROM EMP
GROUP BY DEPTNO
);
SELECT *
FROM EMP
WHERE (DEPTNO, SAL) IN (SELECT DEPTNO, MAX(SAL) FROM EMP GROUP BY DEPTNO);
테이블이 만들어진 것 처럼 사용할 수 있다. 그리고 이름을 지어줘야한다.
SELECT avg(sales)
FROM (DEPTNO, SUM(SAL) sales FROM EMP GROUP BY DEPTNO) as dep_sales;
FROM절의 내용을 WITH 절로 표현할 수 있다.
여러개를 사용할 수 있다.
JOIN문과 같이 쓰는 경우 눈에 잘 들어온다.
WITH 별칭1 AS(
...
), 별칭2 AS(
***
)