SELECT 절에서 사용하는 서브쿼리. 결과는 하나의 Column 이어야 한다.
문법
SELECT column1, (SELECT column2 FROM table2 WHERE condition)
FROM table1
WHERE condition;
SELECT case_number,
(SELECT avg(case_number)
FROM crime_status
WHERE crime_type LIKE '강도' AND crime_type LIKE '검거') avg
FROM crime_status
WHERE police_station LIKE '은평' AND crime_type LIKE '강도' status_type LIKE '검거';

FROM 절에 사용하는 서브쿼리로 메인쿼리에서는 인라인 뷰에서 조회한 Column만 사용가능
문법
SELECT a.column, b.column
FROM table1 a, (SELECT column1, column2 FROM table2)b
WHERE condition;
SELECT c.police_station, c.crime_type, c.case_number
FROM crime_status c,
(SELECT police_station, max(case_number) count
FROM crime_status
WHERE status_type LIKE '발생'
GROUP BY police_station) m
WHERE c.police_station = m.police_station
AND c.case_number = m.count;

SELECT column_names
FROM table_name
WHERE column_name = (SELECT column_name
FROM table_name
WHERE condition)
ORDER BY column_name;
SELECT name
FROM celeb
WHERE name = (SELECT host
FROM snl_show
WHERE id=1);

SELECT name
FROM celeb
WHERE name = SELECT host FROM snl_show ;

SELECT name
FROM celeb
WHERE name = (SELECT host FROM snl_show);

SELECT column_names
FROM table_name
WHERE column_name IN (SELECT column_name
FROM table_name
WHERE condition)
ORDER BY column_names;
SELECT host
FROM snl_show
WHERE host IN (SELECT name
FROM celeb
WHERE job_title LIKE '%영화배우%');

SELECT column_names
FROM table_name
WHERE EXISTS (SELECT column_name
FROM table_name
WHERE condition)
ORDER BY column_names;
SELECT name
FROM police_station p
WHERE EXISTS (SELECT police_station
FROM crime_status c
WHERE p.name = c.reference AND case_number > 2000);

SELECT column_names
FROM table_name
WHERE column_names = ANY (SELECT column_name
FROM table_name
WHERE condition)
ORDER BY column_names;
SELECT name
FROM celeb
WHERE name = ANY (SELECT host
FROM snl_show);

SELECT column_names
FROM table_name
WHERE column_name = ALL (SELECT column_name
FROM table_name
WHERE condition)
ORDER BY column_names;
SELECT name
FROM celeb
WHERE name = ALL (SELECT host
FROM snl_show
WHERE id = 1);

SELECT column_names
FROM table_name a
WHERE (a.column1, a.column2, ...) IN (SELECT b.column1, b.column2, ...
FROM table_name
WHERE a.column_name = b.column_name)
ORDER BY column_names;
SELECT name, sex, agency
FROM celeb
WHERE (sex, agency) IN (SELECT sex, agency
FROM celeb
WHERE name = '강동원');
