SQL(JOIN)

w3schools.com 의 ‘SQL’과정을 참고하였습니다.


SQL JOIN

두개이상의 테이블들의 레코드를 조합하여 하나의 열로 표현한 것을 의미한다.

SQL JOIN 종류들


  • INNER JOIN : 두 테이블에서 같은 값을 가지는 레코드들로만 이루어진 테이블이
  • OUTER JOIN : 여러테이블에서 한 쪽에는 데이터가 있고, 다른 한쪽에서 데이터가 없는 경우, 데이터가 있는 쪽 테이블 내용을 전부 출력하는 방법, 매칭되는 데이터가 없는 경우, NULL로 표시

    • LEFT (OUTER) JOIN : 왼쪽에 있는 테이블의 모든 결과를 가져오고, 오른쪽 테이블 데이터와 매칭
    • RIGHT (OUTER) JOIN : 오른쪽에 있는 테이블의 모든 결과를 가져오고, 왼쪽 테이블 데이터와 매칭
    • FULL (OUTER) JOIN : 양쪽 모두 조건이 일치하지 않는 것들까지 모두 결합하여, 출력

SQL INNER JOIN

  • 일반적인 join은 inner join을 의미한다.
SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;

SQL LEFT JOIN

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

SQL LEFT JOIN

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

SQL FULL JOIN

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

SQL Self JOIN

  • 자기 자신과 조인을 하는 기법
-- CustomerID가 서로 같지 않고, City 가 같은 조건
-- 같은 테이블을 Aliases를 다르게하여 셀프 조인

SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers AS A, Customers AS B
WHERE A.CustomerID <> B.CustomerID AND A.City = B.City
ORDER BY A.City;