=> "테이블로서 저장되거나, 그 자체로 이용할 수 있는 결과 셋을 만들어 낸다."
조인의 예시로 쓰일 테이블 두 개
가장 흔한 결합 방식이자 기본 조인 형식
조인 구문에 기반한 2개의 테이블(A, B)의 굥통된 요소들을 통해 결합함
=> 새로운 결과 테이블을 생성
공통된 데이터가 없다면 해당 행은 누락
SELECT * FROM employee INNER JOIN department ON employee.DepartmentID = department.DepartmentID;
이런 식으로 쓰인다.
SELECT Star.Name, Dep.Name
FROM Star LEFT JOIN Dep
ON Star.DepNo = Dep.DepNo
여기서 공통된 부분마저 제외하고자( 즉 왼쪽만) 한다면, 위의 쿼리에서 Null 조건을 추가해주면 된다.
+) Q. where에 있는 조건이 on으로 갔을 때 결과가 어떻게 나오는가?
SELECT Star.Name, Dep.Name
From Star LEFT JOIN Dep
ON Star.DepNo = Dep.DepNo
WHERE Star.DepNo IS NULL
SELECT Star.Name, Dep.Name
FROM Star RIGHT JOIN Dep
ON Star.DepNo = Dep.DepNo
SELECT Star.Name, Dep.Name
FROM Star FULL OUTER JOIN Dep
ON Star.DepNo = Dep.DepNo
=> 위의 LEFT OUTER 조인 + RIGHT OUTER 조인 둘을 합친 것
SELECT Star.Name, Dep.DepName
FROM Star CROSS JOIN Dep
=> 즉 모든 결과에 대한 곱이 나온다고 생각하자
(모든 경우의 수 = Star테이블(7행) x Dep테이블(4행) = 28 행)
SELECT A.ID, A.Name, A.Partner, B.Partner PartName
FROM Star A JOIN Star B
ON A.Partner = B.ID
본인의 원하는 컬럼을 '자체 조인' 하여 만들었다.
- 어떻게? 😮
=>Partner의 정보도 같은 테이블 내에 존재하기 때문