모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!!
🐬 UNION
JOIN 은 테이블을 옆으로 이어붙이는 구문이라면, UNION은 위아래로 붙이는 구문입니다.
UNION 구문은 중복을 허용하지 않으며, UNION ALL 구문은 중복을 허용해 모든 값을 그대로 남겨둡니다.
Products 테이블에서 가격이 5 이하 또는 200 이상인 제품을 가져오는 쿼리입니다. 일반적으로는 WHERE 절을 사용해서 아래와 같이 실행할 것입니다.
SELECT * FROM Products WHERE price <= 5 OR price >= 200;
이 쿼리를 UNION 구문을 사용해서 구현할 수도 있습니다.
SELECT * FROM Products WHERE price <= 5
UNION
SELECT * FROM Products WHERE price >= 200;
🐬 UNION & JOIN
LEFT JOIN 과 RIGHT JOIN 은 기준이 되는 테이블에 해당 열이 있어야만 합칠 수 있는 구문입니다. 이는, 한 테이블의 커버 범위에 의해 다른 테이블의 데이터가 남느냐에 대한 여부로 귀결됩니다. 예를 들어, 고객테이블을 기준으로 주문기록테이블을 LEFT JOIN 할 때, 비회원주문의 경우에는 조인한 결과에서 남아있지 않을 것입니다. 이러한 상황을 방지하기 위해, UNION 함수를 함께 사용합니다.
SELECT * FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
UNION
SELECT * FROM Customers
RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
해당 테이블은 Customers 테이블의 범위가 더 넓어 언급한 문제는 생기지 않지만, 상황에 맞게 사용하는 것이 중요합니다.
'🐬 SQL > ✏️ 이론' 카테고리의 다른 글
✏️ 10. OUTER JOIN (0) | 2023.06.28 |
---|---|
✏️ 09. INNER JOIN (0) | 2023.06.27 |
✏️ 08. CASE (0) | 2023.06.25 |
✏️ 07. GROUP BY, HAVING (0) | 2023.06.25 |
✏️ 06. 집계함수 (0) | 2023.06.25 |