집합 연산자

Oracle SQL 입문

Sara Billen

Curriculum Manager

집합 연산자란?

$$

집합 연산자는 두 개 이상의 SELECT 쿼리 결과를 하나로 결합합니다.

$$

  • 조인 절은 테이블을 결합
    • 열 중심
  • 집합 연산자는 쿼리를 결합
    • 행 중심
Oracle SQL 입문

집합 연산자의 종류

Union

유니온 연산자

중복 없이 모든 행

Union All

유니온 올 연산자

중복 포함 모든 행

Intersect

인터섹트 연산자

두 쿼리 모두의 결과 행

Minus

마이너스 연산자

첫 번째 쿼리에만 있는 고유 행

Oracle SQL 입문

Union

중복 없이 모든 행

고객과 관련된 모든 도시는?


SELECT City FROM Customer
UNION
SELECT BillingCity FROM Invoice
| City           |
|----------------|
| Lyon           |
| Fort Worth     |
| Vienne         |
| Brussels       |
| Orlando        |
| Copenhagen     |
| Oslo           |
| Rio de Janeiro |
| Boston         |
| ...            |
Oracle SQL 입문

Union all

중복을 포함한 모든 행

고객과 관련된 모든 도시와 그 빈도는?


SELECT City from Customer
UNION ALL
SELECT BillingCity from Invoice
| City          |
|---------------|
| Oslo          |
| Prague        |
| Prague        |
| Vienee        |
| Brussels      |
| Copenhagen    |
| Mountain View |
| Mountain View |
| Mountain View |
| ...           |
Oracle SQL 입문

Intersect

두 쿼리 모두에서 출력된 행

마일즈 데이비스의 트랙 중 어떤 것이 플레이리스트에 있나요?

(SELECT TrackId from PlaylistTrack)
INTERSECT
(SELECT TrackId from Track
WHERE Composer = 'Miles Davis')
| TrackId |
|---------|
| 612     |
| 600     |
| 614     |
| 604     |
| 605     |
| 598     |
| 617     |
Oracle SQL 입문

Minus

첫 번째 쿼리의 고유 행 중 두 번째 쿼리에 없는 것

작곡하지 않는 아티스트는 누구인가요?

(SELECT Name FROM Artist)
MINUS
(SELECT Composer FROM Track)
ORDER BY 1 DESC
| Name                     |
|--------------------------|
| Zeca Pagodinho           |
| Youssou N'Dour           |
| Yo-Yo Ma                 |
| Yehudi Menuhin           |
| Xis                      |
| Wilhelm Kempff           |
| Whitesnake               |
| Vinícius E Qurteto Em Cy |
| Vinícius E Odette Lara   |
| ...                      |                                                                       |
Oracle SQL 입문

연습해 봅시다!

Oracle SQL 입문

Preparing Video For Download...