데이터베이스/SQL

[SQL] JOIN

4Legs 2021. 2. 26. 17:56

JOIN

  • Orders 테이블에서 3번 ShipperID 가 배송하는 주문의 목록을 조회
//JOIN을 사용하지 않은 SQL문
SELECT Shippers.ShipperID, ShipperName, OrderID
FROM Shippers, Orders
WHERE Shippers.ShipperID = Orders.ShipperID AND Shippers.ShipperID = 3;

//JOIN을 사용한 SQL문
SELECT Shippers.ShipperID, ShipperName, OrderID
FROM Shippers INNER JOIN Orders ON Shippers.ShipperID = Orders.ShipperID
WHERE Shippers.ShipperID = 3;
  • 배송하는 주문의 수가 60개에서 70개 사이인 Shipper의 이름과 그 주문 수를 조회
SELECT Shippers.ShipperName, COUNT(OrderID) AS numOfOrders
FROM Shippers INNER JOIN Orders ON Shippers.ShipperID = Orders.ShipperID
GROUP BY ShipperName
HAVING numOfOrders BETWEEN 60 AND 70;
  • 주문 번호 10248의 제품 이름과 배송 회사의 이름을 출력 (다중 조인)
SELECT Orders.OrderID, Products.ProductName, Shippers.ShipperName
FROM Orders INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID
    INNER JOIN Products ON OrderDetails.ProductID = Products.ProductID
    INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
WHERE Orders.OrderID = 10248;
  • OUTER JOIN : NULL 값인 행이 있어도 그 조인 결과를 출력
    • LEFT OUTER, RIGHT OUTER, FULL OUTER 가 존재

'데이터베이스 > SQL' 카테고리의 다른 글

[SQL] GROUP BY, HAVING  (0) 2021.02.26
[SQL] ORDER BY  (0) 2021.02.26
[SQL] SELECT, INSERT, UPDATE, DELETE  (0) 2021.02.26