SQL Joins

w3schools.com 을 참조하여 해석해본 자료입니다.

기본적으로 실행문의 결과값은 사이트에 직접가서 실행해보고 결과를 확인하는것이 좋습니다.

결과값이 너무 큰 경우 일부만 발췌하거나 기록하지 않았습니다.

SQL JOIN


JOIN 절은 두 개 이상의 테이블에 있는 행을 결합하는 데 사용됩니다.

“Orders” 테이블에 있는 선택항목을 살펴 보겠습니다:

OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

그런 다음 “Customers” 테이블에서 선택 항목을 살펴보세요:

CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico
3 Antonio Moreno Taquería Antonio Moreno Mexico

“Orders” 테이블의 “CustomerID” 열은 “Customers” 테이블의 “CustomerID”를 나타냅니다.

위의 두 테이블 사이의 관계는 “CustomerID” 열 입니다.

Example

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Order.CustomerID=Customers.CustomerID;

w3schools.com에서 직접 실행해볼것

Result:(일부만 발췌)

Number of Records: 196

OrderID CustomerName OrderDate
10248 Wilman Kala 1996-07-04
10249 Tradição Hipermercados 1996-07-05
10250 Hanari Carnes 1996-07-08
10251 Victuailles en stock 1996-07-08
10252 Suprêmes délices 1996-07-09
10253 Hanari Carnes 1996-07-10
10254 Chop-suey Chinese 1996-07-11
10255 Richter Supermarkt 1996-07-12
10256 Wellington Importadora 1996-07-15
10257 HILARIÓN-Abastos 1996-07-16
10258 Ernst Handel 1996-07-17

총 196개의 Record가 있음

그러면 다음과 같은 결과가 나옵니다.

OrderID CustomerName OrderDate
10308 Ana Trujillo Emparedados y helados 9/18/1996
10365 Antonio Moreno Taquería 11/27/1996
10383 Around the Horn 12/16/1996
10355 Around the Horn 11/15/1996
10278 Berglunds snabbköp 8/12/1996

Different Types of SQL JOINs


다음은 SQL에 있는 JOIN의 여러가지 타입입니다:

  • (INNER) JOIN: 두 테이블에서 값이 일치하는 레코드를 반환합니다.
  • LEFT (OUTER) JOIN: 왼쪽 테이블에서 모든 레코드를 반환하고 오른쪽 테이블에서 일치하는 레코드를 반환합니다.
  • RIGHT (OUTER) JOIN: 오른쪽 테이블에서 모든 레코드를 반환하고 왼쪽 테이블에서 일치하는 레코드를 반환합니다.
  • FULL (OUTER) JOIN: 왼쪽 또는 오른쪽 테이블에 일치하는 항목이 있으면 모든 레코드를 반환합니다.

홈페이지 그림 참조

Comments