내부 쿼리 결과를 기반으로 데이터 필터링, 검색 또는 조작하는 데 자주 사용되는
다른 쿼리 내에 포함된 쿼리.
다른 쿼리 내부에 포함되어있는 SELECT 문을 의미한다.
괄호 안에 포함되어있으면 일반적으로 더 큰 쿼리의 일부로 이용된다.
테이블을 2개 이상 사용해서 결과를 뽑을 땐 대부분 서브쿼리말고 나중에 배울 JOIN 문법을 사용한다.
SELECT * FROM client WHERE 사용금액 >= (SELECT AVG(사용금액) FROM client)
SELECT 고객명, 사용금액/(SELECT AVG(사용금액) FROM client) FROM client
SELECT 사용금액 FROM client WHERE 고객명 IN ('Pristine','George','Amy')
=> SELECT 사용금액 FROM client WHERE 고객명 IN (SELECT 이름 FROM blacklist)
SELECT 고객등급, AVG(사용금액) FROM client GROUP BY 고객등급
SELECT 고객등급, AVG(사용금액) FROM client WHERE 연체횟수 = 0
GROUP BY 고객등급 HAVING 고객등급='vip'
IF(조건식, 조건식맞았을때실행, 조건식틀렸을때실행);
CASE
WHEN 조건식1 THEN 남길값1
WHEN 조건식2 THEN 남길값2
WHEN 조건식3 THEN 남길값3
ELSE 최종 남김값
END