🐬 SQL/✏️ 이론

✏️ 11. UNION

nyamin9 2023. 6. 28. 01:00

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 

 

 

 


 

🐬 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