안녕하세요!!
이번 포스팅에서는 JOIN 구문중에서 RIGHT JOIN 구문에 대해서 알아보겠습니다.
지난 포스팅에서 left join 구문을 설명했었는데 right join 구문은 반대라고 생각하시면 도움이 될듯합니다.
두 개의 테이블이 있다고 가정할경우 right join은 우측의 테이블을 포함한 교집합입니다.
아래 그림을 참조하시면 더 이해가 빠를거라 생각합니다.
이미지 출처 : w3schools
RIGHT JOIN 기본구문
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
// 위와 같이 조인 구문을 작성하면 그림과 같은 결과값이 나오게 됩니다.
// 내용이 이전 포스팅의 left join 구문의 설명과 많이 흡사하기 때문에 참조하시기 바라고 아래 예제로 어떻게 조인이 되는지 그리고 결과값은 어떻게 나오는지 자세히 알아보겠습니다.
order_id p_num employ_date caree_year 1001 2 2003-02-02 5 1002 3 2004-02-17 6
// 위 테이블 이름은 임시로 ORDER 라고 정의하겠습니다.
p_num |
name |
age |
mobile |
1 |
송기종 |
42 |
010-1111-1111 |
2 |
신석호 |
41 |
010-2222-2222 |
3 |
이현주 |
35 |
010-3333-3333 |
// 테이블 이름을 임시로 INFO 라고 정의하겠습니다.
위 두개의 테이블을 RIGHT JOIN 하면
select * from order
right join info
on order.p_num = info.p_num;
또는
select * from order A
right join info B
on A.p_num = B.p_num;
또는
select * from order A
right outer join info B
on A.p_num = B.p_num;
결과값은
order_id |
p_num |
employ_date |
caree_year |
p_num |
name |
age |
mobile |
null |
null |
null |
null |
1 |
송기종 |
42 |
010-1111-1111 |
1001 |
2 |
2003-02-02 |
5 |
2 |
신석호 |
41 |
010-2222-2222 |
1002 |
3 |
2004-02-17 |
6 |
3 |
이현주 |
35 |
010-3333-3333 |
LEFT JOIN과 틀린점을 발견하셨나요?
혹시 발견 못하셨다면 이전 left join 구문과 비교하며 확인해보시기 바랍니다.
댓글 주시는 분들중 실무에서 join 구문이 많이 사용되는지 질문 및 쪽지가 종종 들어옵니다. 사실 지금 PHP 로 프로그래밍을 하면서 정말 간간이 join 구문을 사용하긴 하지만 매번 사용하진 않은듯 합니다. 하지만 예전에 ASP 시절 그룹웨어 및 ERP등을 프로그래밍 할 경우 JOIN 구문은 기본적으로 어떤 쿼리나 들어있었습다. 어떤 프로그래밍을 하느냐에 따라서 사용여부는 크게 달라지는듯 합니다. 하지만 이거 하나는 확실한것 같습니다. 일단 알아두시면 언젠가 도움은 될겁니다. ^^
다음 포스팅에서는 UNION 에 대해서 알아보겠습니다
그럼 남은 하루 즐겁게 보내시기 바라며, 즐거운 프로그래밍 되길 바랍니다.
'SQL' 카테고리의 다른 글
SELECT INTO 구문 (0) | 2013.09.05 |
---|---|
SQL UNION 구문 (0) | 2013.09.04 |
SQL LEFT JOIN 구문 (0) | 2013.09.02 |
SQL INNER JOIN 구문 (0) | 2013.08.31 |
SQL JOIN 구문 (2) | 2013.08.29 |