SQL INNER JOIN 구문

SQL 2013.08.31 11:54

 

 

안녕하세요! 

이번 포스팅은 SQL INNER JOIN 의 구문에 대해서 알아보겠습니다.

 

INNER JOIN은 테이블간의 교집합이라고 생각하면 쉽게 이해될듯 합니다.

아래 그림을 참조하시기 바랍니다.

이미지 출처 : w3schools

 

이미지에서 볼 수 있듯이 table1 과 table2와 겹친 초록색 부분이 내용으로 나타나게 됩니다.

기본적인 구문

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

 

또는

 

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

// INNER 를 생략한 구문이지만 동일한 구문입니다.

 

실제로 예제 테이블을 이용하여 값을 가져와 보겠습니다.

 p_num

 name

 age

 mobile

 1

 송기정

 42

 010-1111-1111

 2

 신방호

 41

 010-2222-2222

 3

 이현석

 35

 010-3333-3333

// 테이블 이름을 임시로 INFO 라고 정의하겠습니다.

 

 order_id

 p_num

 employ_date

 caree_year

 1001

 2

 2003-02-02

 5

 1002

 3

 2004-02-17

 6

 1003

 6

 2006-05-12

 3

 

// 위 테이블 이름은 임시로 ORDER 라고 정의하겠습니다.

 

두 테이블을 자세히 살펴보면 p_num 이라는 중복된 필드명이 있는것을 확인할 수 있습니다. 이제부터 그 중복된 p_num을 가지고 inner join 을 만들어보겠습니다. 여기까지 설명드려도 눈치가 빠른 분들은 join을 하면 어떤 내용이 나올지 짐작하는 분들도 계실거라 생각합니다.

 

INNER JOIN 구문

select info.name, order.employ_date, order.caree_year

from info

inner join order

on info.p_num = order.p_num

order by info.name;

// 구문을 살펴보면 우선 info 테이블의 name과 order 테이블의 employ_date, caree_year 데이터를 추출하고  inner join 을 한 후 양 테이블의 p_num 이 일치되는 내용을 가져온후 info 테이블의 name 값으로 오름차순(asc 생략) 정렬을 하는 구문입니다.

 

지금까지 2개의 테이블을 사용하여 예제를 만들어가며 설명드렸는데 실무에서는 그보다 더 많은 테이블을 join 하는 경우도 많이 있기 때문에 응용을 많이 해보시기 바랍니다. ^^

 

다음 포스팅에서는 LEFT JOIN 구문에 대해서 알아보겠습니다.

 

자~ 그럼 오늘도 즐거운 하루 보내시길 바라며,

즐거운 프로그래밍 되시기 바랍니다.

'SQL' 카테고리의 다른 글

SQL RIGHT JOIN 구문  (1) 2013.09.03
SQL LEFT JOIN 구문  (0) 2013.09.02
SQL INNER JOIN 구문  (0) 2013.08.31
SQL JOIN 구문  (2) 2013.08.29
SQL AS(Aliases) 구문  (0) 2013.08.27
SQL BETWEEN 구문  (2) 2013.08.23
Posted by 진격의 파파

댓글을 달아 주세요