programming/SQL

[SQL]14강_LEFT/RIGHT JOIN

Jofresh 2023. 5. 1. 14:23
728x90
반응형

SQL LEFT JOIN 키워드

키워드 LEFT JOIN는 왼쪽 테이블(table1)의 모든 레코드와 오른쪽 테이블(table2)의 일치하는 레코드를 반환합니다. 결과는 일치하는 항목이 없는 경우 오른쪽부터 0개의 레코드입니다.

LEFT JOIN 구문

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

참고: 일부 데이터베이스에서는 LEFT JOIN을 LEFT OUTER JOIN이라고 합니다.


데모 데이터베이스

이 자습서에서는 잘 알려진 Northwind 샘플 데이터베이스를 사용합니다.

다음은 "고객" 테이블에서 선택한 항목입니다.

그리고 "주문" 테이블에서 선택:



SQL LEFT JOIN 예제

다음 SQL 문은 모든 고객과 그들이 가질 수 있는 모든 주문을 선택합니다.

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
직접 해보기 »

참고:  LEFT JOIN키워드는 오른쪽 테이블(Orders)에 일치 항목이 없더라도 왼쪽 테이블(Customers)의 모든 레코드를 반환합니다.

OrderID가 없는 경우 NULL값으로 나옴.


 

SQL RIGHT JOIN 키워드

키워드 RIGHT JOIN는 오른쪽 테이블(table2)의 모든 레코드와 왼쪽 테이블(table1)의 일치하는 레코드를 반환합니다. 결과는 일치하는 항목이 없는 경우 왼쪽부터 0개의 레코드입니다.

RIGHT JOIN 구문

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

RIGHT JOIN참고 : 일부 데이터베이스에서는 RIGHT OUTER JOIN.


데모 데이터베이스

이 자습서에서는 잘 알려진 Northwind 샘플 데이터베이스를 사용합니다.

다음은 "주문" 표에서 선택한 항목입니다.

그리고 "Employees" 테이블에서 선택:


SQL RIGHT JOIN 예

다음 SQL 문은 모든 직원과 직원이 발주한 모든 주문을 반환합니다.

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
직접 해보기 »

참고:  RIGHT JOIN키워드는 왼쪽 테이블(Orders)에 일치 항목이 없더라도 오른쪽 테이블(Employees)의 모든 레코드를 반환합니다.

OrderID가 없더라도 직원 테이블에서 가져온 데이터가 반환된다.

728x90
반응형

'programming > SQL' 카테고리의 다른 글

[SQL]16강_UNION  (0) 2023.05.01
[SQL]15강_FULL OUTER JOIN  (0) 2023.05.01
[SQL]12강_JOINS (SQL의 꽃, LIKE 엑셀의 VLOOKUP)  (0) 2023.05.01
[SQL]11강_LIKE,IN,BETWEEN함수  (0) 2023.05.01
[SQL]10강_COUNT, AVG 및 SUM  (0) 2023.05.01