6. MySQL - JOIN(테이블 조립)

parkjh9370·2022년 2월 28일
0

1. JOIN(INNER JOIN) - 내부 조인

  • 양쪽 모두에 값이 있는 행(NOT NULL) 반환
  • 'INNER '는 선택사항
SELECT * FROM Categories C
	 JOIN Products P 
     ON C.CategoryID = P.CategoryID;

📌 Categories, Products 테이블에서 각 ID가 같은 모든 데이터

SELECT C.CategoryID, C.CategoryName, P.ProductName
	FROM Categories C
	JOIN Products P 
  	ON C.CategoryID = P.CategoryID; 

📌 Categories, Products 테이블에서 각 ID가 SELECT에 해당하는 데이터

SELECT
  	CONCAT(
    P.ProductName, ' by ', S.SupplierName
  	) AS Product,
  	S.Phone, P.Price
	FROM Products P
	JOIN Suppliers S
  	ON P.SupplierID = S.SupplierID
	WHERE Price > 50
	ORDER BY ProductName;

📌 Products, Suppliers 테이블에서 각 ID가 같은 것들 중 Price가 50보다 큰 것을 ProductName 기준 내림차순으로 정렬해 SELECT에 해당하는 데이터 출력

💡 여러 테이블 JOIN

SELECT 
    C.CategoryID, C.CategoryName, 
    P.ProductName, 
    O.OrderDate,
    D.Quantity
  FROM Categories C
  JOIN Products P 
    ON C.CategoryID = P.CategoryID
  JOIN OrderDetails D
    ON P.ProductID = D.ProductID
  JOIN Orders O
    ON O.OrderID = D.OrderID;


출처: https://www.yalco.kr/@sql/3-1/

0개의 댓글