27 Sat

데이터 분석을 위한 중급 SQL

위 아래로 데이터 이어붙이기

UNION

  • JOIN 은 양 옆으로 데이터를 합친다면 UNION 은 위 아래로 데이터를 합친다.

  • 이 때 중복 데이터는 한 개만 유지된다.

  • MySQL에서는 FULL OUTER JOIN 을 지원하지 않는데, 이 경우에 LEFT JOINRIGHT JOINUNION 하면 된다.

  • ORDER BY 를 할 때에는 UNION 뒤에 있는 SELECT 문에 해야 한다. UNION 전에 하면 오류가 난다.

SELECT *
FROM Products
WHERE price <= 5 OR price >= 200
SELECT *
FROM Products
WHERE price <=5

UNION

SELECT *
FROM Products
WHERE price >=200
  • 위 두개의 SQL은 같은 결과를 반환한다.

UNION ALL

  • SELECT 구문에는 ALL 이 생략되어 있는데, 이는 ALL 이 default option 이기 때문. 그에 반해 UNIONDISTINCT 가 default option(실제로 distinct 라고 명시하지는 않는다)이고 UNION ALL 이 다른 옵션이다.

  • 중복 데이터의 수도 그대로 유지한다.

EXCEPT, MINUS

  • 차집합을 의미하는 함수이다.

  • MySQL 에서는 지원하지 않는다.

INTERSECT

  • 교집합을 의미하는 함수이다.

  • MySQL 에서는 지원하지 않는다.

Last updated

Was this helpful?