[SQL] 12-2. SQL INNER JOIN

INNER JOIN이란 명령어는 두 개의 테이블 간의 공통값을 반환합니다. 집합으로 보면 공집합과 비슷한 개념으로 생각하시면 될 거 같습니다.

SELECT <칼럼> FROM <테이블 1> INNER JOIN <테이블 2> ON <테이블 1. 칼럼> = <테이블 2. 칼럼>

테이블 1에 있는 칼럼과 테이블 2에 있는 칼럼에 있는 값들 중에 서로 일치하는 값들이 두 개의 테이블에 존재하면 반환합니다.

SELECT * FROM customers;
SELECT * FROM transactions;

customers 테이블과 transactions 테이블에 있는 모든 값들을 조회했습니다. 이제 customers 테이블에 있는 id 값과 transactions 테이블에 있는 id 값들이 일치하면 customers 테이블의 name과 transaction 테이블에 있는 transaction_date 칼럼 값들을 불러와보겠습니다.

SELECT transactions.id as transaction_id, customers.id as customer_id, customers.name, transactions.transaction_date FROM transactions INNER JOIN customers ON transactions.customer_id = customers.id;

먼저 id값들이 어느 테이블에서 나왔는지에 대한 혼동이 발생하지 않도록 as라는 문구를 써서 transaction 테이블에 있는 id 값을 transaction_id 그리고 customers 테이블에 있는 id 값을 customer_id로 표현했습니다. 그리고 두 테이블 간에 id 값이 동일한 데이터만 조회했기 때문에 transaction 테이블에서 id가 11, 12인 데이터는 조회가 안 됐습니다. 즉, INNER JOIN은 두 테이블이 공통으로 가지고 있는 값을 지닌 데이터를 조회하는데 매우 유용합니다.

좋은 웹페이지 즐겨찾기