두 개 이상의 테이블에서 원하는 데이터를 가져오기 위해 조인을 합니다.
JOIN과 INNER JOIN에 대해 알아보겠습니다.
1. Join
select a.column1, b.column2
from table1 a, table2 b
where a.column3 = b.column4
- 테이블 두 개를 조인한 코드입니다.
- table1, table2라는 테이블이 두 개 있습니다.
- table1의 컬럼 column1과 table2의 컬럼 column2를 조회합니다.
- 조인을 하기 위해서는 조건이 필요합니다.
- 조건은 table1의 column3과 table2의 column4가 같은 데이터만 조인하여 출력합니다.
* 예시 테이블
- table1 (a)
column1 | column3 |
100 | 1 |
200 | 2 |
300 | 3 |
- table2 (b)
column2 | column4 |
400 | 2 |
500 | 3 |
600 | 4 |
- Join 결과
a.column1 | b.column2 |
200 | 400 |
300 | 500 |
- table1과 table2의 조인 조건이 column3과 column4가 같은 데이터입니다.
- 따라서 column3과 column4가 같은 데이터는 2, 3이 있습니다.
- 그중에서 출력을 column1과 column2를 했으므로 위와 같은 결과가 나타납니다.
2. INNER Join
select a.column1, b.column2
from table1 a
inner join table2 b
on a.column3 = b.column4
where column1 = '사아자'
- inner join을 한 코드입니다.
- 위의 join과 sql문은 조금 다르지만, 조인 조건과 같은 데이터만 출력한다는 점에서 같습니다.
- 조인 조건은 on 뒤에 표기하고, 그 외의 검색 조건은 where 절을 이용합니다.
* 예시 테이블
- table1 (a)
column1 | column3 |
가나다 | 10 |
라마바 | 20 |
사아자 | 30 |
- table2 (b)
column2 | column4 |
차카타 | 20 |
파하가 | 30 |
나다라 | 40 |
- inner Join 결과
column1 | column2 |
사아자 | 파하가 |
- table1과 table2의 조인 조건이 column3과 column4가 같은 데이터입니다.
- 따라서 column3과 column4가 같은 데이터는 20, 30이 있습니다.
- 그중에서 where 절에 column1이 '사아자'인 데이터를 출력하도록 하였으므로 위와 같은 결과가 나타납니다.
이상으로 MySQL JOIN, INNER JOIN에 대해 알아보았습니다.
'Web Developer's Story > DATABASE' 카테고리의 다른 글
[Oracle] 테이블 목록 및 컬럼 조회 (0) | 2022.01.18 |
---|---|
[MYSQL] 날짜 관련 함수 총정리 (0) | 2020.09.11 |
[MYSQL] 문자열 관련 함수 정리 - replace, concat, trim (0) | 2020.09.05 |
[MYSQL] 데이터 정렬 및 부분 조회 - ORDER BY, LIMIT (0) | 2020.09.04 |
[MYSQL] 문자열 자르기 - left, right, substring 함수 (0) | 2020.09.01 |