본문 바로가기
IT/SQL

SQL Joins

by Jang HyunWoong 2015. 1. 29.

SQL joins는 다른 테이블로 부터 행을 가져와 합치는 것이다. 두 테이블 사이에 공통이 되는 필드를 기본으로 한다. 


보통 join의 타입은 SQL INNER JOIN 으로 볼 수 있다. 


SQL INNER JOIN은 여러 테이블로부터 조건이 맞는 부분의 모든 행을 가져온다. 


SQL INNER JOIN Syntax

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;

or:

SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name=table2.column_name;


보통 INNER JOIN은 JOIN을 나타낸다ㅏ. 


예를 들어보면

id name       id  name
-- ----       --  ----
1  Pirate     1   Rutabaga
2  Monkey     2   Pirate
3  Ninja      3   Darth Vader
4  Spaghetti  4   Ninja

다음과 같은 두 테이블이 있다. 첫 번째 있는 것을 TableA, 두 번째 것을 TableB라고 보겠다. 

위의 상황을 아래 벤다이어그램으로 나타내면 다음과 같다. 




TableA의 id 1, 3번이, TableB에 id 2, 4번과 겹치는 부분이 있다. 

SELECT * FROM TableA
INNER JOIN TableB
ON TableA.name = TableB.name

id  name       id   name
--  ----       --   ----
1   Pirate     2    Pirate
3   Ninja      4    Ninja

INNER JOIN을 사용해서 TableA와 TableB에서 매치되는 부분을 나타낸다.

ON 대신 WHERE를 사용해도 같은 결과를 볼 수 있다. 




반응형

'IT > SQL' 카테고리의 다른 글

SQL UNION 연산문  (0) 2015.02.03
SQL LEFT JOIN 문  (0) 2015.02.03
SQL BETWEEN  (0) 2015.01.29
SQL IN  (0) 2015.01.29
SQL LIKE  (0) 2015.01.29