Operatori de mulțimi

Introducere în Oracle SQL

Sara Billen

Curriculum Manager

Ce sunt operatorii de mulțimi?

$$

Operatorii de mulțimi preiau rezultatul a două sau mai multe interogări SELECT și le combină într-un singur rezultat.

$$

  • Clauzele JOIN combină tabele
    • Orientate pe coloane
  • Operatorii de mulțimi combină interogări
    • Orientați pe rânduri
Introducere în Oracle SQL

Tipuri de operatori de mulțimi

Union

Operatorul Union

Toate rândurile fără duplicate

Union All

Operatorul Union All

Toate rândurile cu duplicate

Intersect

Operatorul Intersect

Rânduri returnate de ambele interogări

Minus

Operatorul Minus

Rânduri distincte din prima interogare care nu apar în a doua

Introducere în Oracle SQL

Union

Toate rândurile fără duplicate

Care sunt toate orașele asociate clienților noștri?

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

Union all

Toate rândurile cu duplicate

Care sunt toate orașele asociate clienților noștri și cu ce frecvență?

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

Intersect

Rânduri returnate de ambele interogări

Ce piese ale lui Miles Davis se află într-o listă de redare?

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

Minus

Rânduri distincte din prima interogare care nu apar în a doua

Care sunt artiștii care nu compun muzică?

(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   |
| ...                      |                                                                       |
Introducere în Oracle SQL

Să exersăm!

Introducere în Oracle SQL

Preparing Video For Download...