학습
🗄️데이터베이스 구축반드시

조인과 서브쿼리

INNER 는 양쪽 다 있는 것, OUTER 는 한쪽이 없어도 남긴다.

INNER JOIN 은 조건이 맞는 행만 남긴다. LEFT OUTER JOIN 은 왼쪽을 다 남기고 오른쪽이 없으면 NULL 을 채운다.

CROSS JOIN 은 모든 조합(카티션 곱)을 만든다. SELF JOIN 은 같은 테이블을 자기 자신과 잇는다.

서브쿼리는 단일행(=, >)과 다중행(IN, ANY, ALL, EXISTS)으로 나뉜다. 다중행에 = 를 쓰면 오류가 난다.

GROUP BY 로 묶은 결과를 거를 때는 WHERE 가 아니라 HAVING 을 쓴다.

바꿔 내는 짝

WHEREHAVING

WHERE 는 묶기 전 행을 거르고, HAVING 은 묶은 뒤 그룹을 거른다. 집계 함수는 HAVING 에만 쓸 수 있다.

시험에는 이렇게

WHERE 와 HAVING 을 바꿔 내는 문제가 매회 나온다. 실기에서는 조건을 주고 SQL 을 직접 쓰게 한다.

실기에도 나오는 개념입니다. 실기는 고르는 것이 아니라 적으므로 용어를 글자 그대로 외워 두세요.

확인 문제

이 개념은 실기에도 5문항 나옵니다. 고르는 것과 적는 것은 다르니 실기 탭에서 손으로도 한 번 적어 보세요.