Toán tử tập hợp

Giới thiệu về Oracle SQL

Sara Billen

Curriculum Manager

Toán tử tập hợp là gì?

$$

Toán tử tập hợp lấy kết quả của hai hoặc nhiều truy vấn SELECT và gộp thành một kết quả.

$$

  • Mệnh đề JOIN gộp bảng
    • Theo cột
  • Toán tử tập hợp gộp truy vấn
    • Theo hàng
Giới thiệu về Oracle SQL

Các loại toán tử tập hợp

Union

Toán tử Union

Tất cả các hàng, không trùng lặp

Union All

Toán tử Union All

Tất cả các hàng, có trùng lặp

Intersect

Toán tử Intersect

Các hàng xuất ra bởi cả hai truy vấn

Minus

Toán tử Minus

Các hàng khác biệt ở truy vấn 1 không có ở truy vấn 2

Giới thiệu về Oracle SQL

Union

Tất cả các hàng, không trùng lặp

Tất cả thành phố liên quan đến khách hàng là gì?


SELECT City FROM Customer
UNION
SELECT BillingCity FROM Invoice
| City           |
|----------------|
| Lyon           |
| Fort Worth     |
| Vienne         |
| Brussels       |
| Orlando        |
| Copenhagen     |
| Oslo           |
| Rio de Janeiro |
| Boston         |
| ...            |
Giới thiệu về Oracle SQL

Union all

Tất cả các hàng, giữ trùng lặp

Tất cả thành phố liên quan đến khách hàng và tần suất xuất hiện?


SELECT City from Customer
UNION ALL
SELECT BillingCity from Invoice
| City          |
|---------------|
| Oslo          |
| Prague        |
| Prague        |
| Vienee        |
| Brussels      |
| Copenhagen    |
| Mountain View |
| Mountain View |
| Mountain View |
| ...           |
Giới thiệu về Oracle SQL

Intersect

Các hàng xuất ra bởi cả hai truy vấn

Bản nhạc của Miles Davis nào có trong playlist?

(SELECT TrackId from PlaylistTrack)
INTERSECT
(SELECT TrackId from Track
WHERE Composer = 'Miles Davis')
| TrackId |
|---------|
| 612     |
| 600     |
| 614     |
| 604     |
| 605     |
| 598     |
| 617     |
Giới thiệu về Oracle SQL

Minus

Các hàng khác biệt trong truy vấn 1 không có trong truy vấn 2

Nghệ sĩ nào không sáng tác?

(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   |
| ...                      |                                                                       |
Giới thiệu về Oracle SQL

Ayo berlatih!

Giới thiệu về Oracle SQL

Preparing Video For Download...