SELECT절 - 스칼라 서브 쿼리
FROM절 - 인라인 뷰
WHERE절 - 중첩 서브 쿼리
SELECT (SELECT ... FROM ...) --스칼라 서브 쿼리
FROM (SELECT ... FROM ...) --인라인 뷰
WHERE 컬럼명 IN (SELECT ... FROM ...) --중첩 서브 쿼리
메인 쿼리와 서브 쿼리의 관계에 따른 용어는?
메인쿼리 = 외부쿼리 / 서브쿼리 = 내부쿼리
SELECT *
FROM 학생
WHERE 학번
IN (SELECT 학번
FROM 학생
WHERE 성별 = '남')
메인쿼리와 서브쿼리가 의존적
SELECT *
FROM 학생
WHERE 학번
IN (SELECT 학번
FROM 지도교수
WHERE 지도교수.학번 = 학생.학번)
서브 쿼리가 리턴(반환)하는 수치 결과에 대한 용어는?
SELECT *
FROM 학생
WHERE 학번
IN (SELECT MAX(학번) 최대학번
FROM 학생)
SELECT *
FROM 학생
WHERE 학번
IN (SELECT MAX(학번) 전공별 최대학번
FROM 학생
GROUP BY 전공코드)
SELECT *
FROM 학생
WHERE (이름, 전공코드) IN (SELECT 이름, 전공코드
FROM 학생
WHERE *이름 LIKE '김%')
UNION
Right Outer Join데카르트의 곱 = 곱집합, 모든 경우의 수
❗ 2개 이상의 테이블에 있는 전체 컬럼을 where 조건 없이 모두 조회하는 경우에도 동일하게 적용
동일한 컬럼명을 자연스럽게 조인 시켜주는 방식
❗동일한 컬럼명이 없는 경우, Cross Join으로 적용