SQLD 이론 준비를 위해서 오늘 배운 내용 간단히만 정리해보자
표준(ANSI) 조인방식은 oracle에서 하던 방식과 다르다
,
=> JOIN
WHERE
=> ON
시험에 잘 나오는 내용
조인시 필요한 조건식의 최소 개수 : 조인 테이블 개수에서 하나 뺀 값
LEFT JOIN
: 왼쪽 테이블 데이터가 다 출력 (왼쪽 테이블을 기준으로 다른 테이블을 가져다 붙임)
RIGHT JOIN
: 오른쪽 테이블 데이터가 다 출력 (오른쪽 테이블을 기준으로 다른 테이블을 가져다 붙임)
두가지 전부 기억하면 헷갈리게 되니까 LEFT JOIN
만 기억하고 RIGHT JOIN
은 반대라고 생각하자.
CONNECT BY
: 계층형 / 트리구조에서 사용함, 오라클에서만 사용함
그러나 시험에서 자주 나옴
start with
: 트리 맨 위쪽, 트리구조의 시작부분
connect by prior
: 조인 조건
SELECT
empno, mgr, ename
FROM emp
START WiTH mgr IS NULL -- 시작 조건
CONNECT BY PRIOR empno = mgr; -- 조인 조건
SELECT
level, -- 계층형태를 알려줌
LPAD(' ', 4*(LEVEL -1)) || empno, -- 계층형태를 눈으로 보기 쉽게 하기 위함
mgr, ename
FROM emp
START WiTH mgr IS NULL -- 시작 조건
CONNECT BY PRIOR empno = mgr; -- 조인 조건
=
, !=
, <
, >
...) : 반환값이 1 row인 쿼리IN
, NOT IN
, ANY
, SOME
, ALL
) : 반환값이 1 row 이상인 쿼리
WHERE
조건문컬럼
(스칼라 서브쿼리)HAVING
조건문FROM
뒤 (inline VIEW)