본문 바로가기
SQL

SQL INNER JOIN 구문

by 진격의 파파 2013. 8. 31.
반응형

 

 

안녕하세요! 

이번 포스팅은 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 JOIN 구문  (2) 2013.08.29
SQL AS(Aliases) 구문  (0) 2013.08.27
SQL BETWEEN 구문  (2) 2013.08.23