[SQL 작성 요령]
1. 중심축으로 삼을 테이블을 선정한다.
2. 건수를 기록한다.
3. 가로로 정보를 추가하는 경우 JOIN을 세로로 정보를 추가하는 경우는 UNION을 사용한다.
4. 건수를 조회하여 확인한다.
[[ 예제 테이블 ]]
T1 | T2 | |||
C11 | C12 | C21 | C22 | |
A | 1 | E | 11 | |
B | 2 | F | 12 | |
C | 3 | G | 13 | |
D | 4 | |||
E | 5 | |||
F | 6 |
INNER JOIN (건수의 손실을 주의할 것)
SQL>>
SELECT T1.C11, T1.C12, T2.C22
FROM T1
INNER JOIN T2
ON T1.C11 = T2.C21
RESULT>>
C11 | C12 | C22 |
E | 5 | 11 |
F | 6 | 12 |
LEFT OUTER JOIN (의도치 않은 Null의 발생, 건수의 증가를 주의할 것)
SQL>>
SELECT T1.C11, T1.C12, T2.C22
FROM T1
LEFT OUTER JOIN T2
ON T1.C11 = T2.C21
RESULT>>
C11 | C12 | C22 |
A | 1 | Null |
B | 2 | Null |
C | 3 | Null |
D | 4 | Null |
E | 5 | 11 |
F | 6 | 12 |
RIGHT OUTER JOIN (가급적 Left outer join으로 사용할 것을 고려한다.)
SQL>>
SELECT T1.C11, T1.C12, T2.C21, T2.C22
FROM T1
FULL OUTER JOIN T2
ON T1.C11 = T2.C21
RESULT>>
C11 | C12 | C21 | C22 |
A | 1 | Null | Null |
B | 2 | Null | Null |
C | 3 | Null | Null |
D | 4 | Null | Null |
E | 5 | E | 11 |
F | 6 | F | 12 |
Null | Null | G | 13 |
UNION (중복이 제거된다. 정렬이 일어나므로 속도의 저하가 있을 수 있다.)
SQL>>
SELECT C11, C12
FROM T1
UNION
SELECT C21, C22
FROM T2
RESULT>>
C11 | C12 |
A | 1 |
B | 2 |
C | 3 |
D | 4 |
E | 5 |
F | 6 |
G | 13 |
UNION ALL
SQL>>
SELECT C11, C12
FROM T1
UNION ALL
SELECT C21, C22
FROM T2
RESULT>>
C11 | C12 |
A | 1 |
B | 2 |
C | 3 |
D | 4 |
E | 5 |
F | 6 |
E | 11 |
F | 12 |
G | 13 |