1. 문제의 발단.
- sql 명령어들은 공식처럼 크게 어렵지 않다. 형태를 외워 놓으면 쓰기 편하고, 잊어버린다고 해도 검색하면 다 나온다. 어떨 때 어떤 명령어를 쓰는지 어렴풋이 알고만 있으면 된다.
- 하지만 JOIN의 경우는 헷갈린다. 무엇이 어떻게 합쳐지는지 어떤 식으로 돌아가는지 어렴풋이라도 알기 위해서는 정리가 필요하다고 생각했다.
2. JOIN?
- 여러 개의 테이블들을 합쳐서 데이터를 검색할 때 사용할 수 있다.
- 각 테이블들은 같은 값을 가지는 '칼럼'을 각각 가지고 있어야 한다.
3. JOIN 명령어의 기본적인 형태
SELECT 가지고 올 테이블.컬럼1, 가지고 올 테이블. 칼럼 2... FROM 기준이 될 테이블 LEFT 혹은, RIGHT 혹은, FULL 혹은 INNER JOIN 비교할 테이블 ON 조건 1, 조건 2...
4. 그림으로 보는 JOIN의 종류
- 이 그림에 색칠된 부분을 우리는 얻게 된다.
- 예를 들어, INNER JOIN(위 그림에는 INNER가 빠져있다)을 사용할 때, 왼쪽의 테이블과 오른쪽의 테이블을 겹쳐 보았을 때, 둘 다 에게 공통으로 가지고 있는 값이 있는 부분만 검색할 수 있게 되는 것이다.
5. 예시로 보는 INNER JOIN
T1 :
SHIFT_S | NAME |
1 | Hendrix |
1 | Mark |
3 | Yeel |
6 | Anjeli |
T2 :
ID | SHIFT |
1 | Mon, Tue |
2 | Wed, Thu |
3 | Fri, Sat |
4 | Sun, Mon |
5 | Tue, Wed |
6 | Thu, Fir |
SELECT T1.NAME, T2.SHIFT FROM T1 INNER JOIN T2 ON T1.SHIFT_S = T2.ID
결과 :
NAME | SHIFT |
Hendrix | Mon, Tue |
Mark | Mon, Tue |
Yeel | Fri, Sat |
Anjeli | Thu, Fir |
'Coding > Today I Learned' 카테고리의 다른 글
2021.09.01(Wen.) <MVC Design> (0) | 2021.09.01 |
---|---|
2021.08.31(Tue.) <데이터 베이스를 이용한 데이터 저장과 팁> (0) | 2021.09.01 |
2021.08.26(Thu.) <SQL의 첫걸음> (0) | 2021.08.26 |
2021.08.25(Wed) <다이나믹 프로그래밍(Dynamic Programming)> (0) | 2021.08.25 |
2021.08.24(Tue.) <시간복잡도와 Greedy Algorithm> (0) | 2021.08.24 |