Operatory zbiorów

Wprowadzenie do Oracle SQL

Sara Billen

Curriculum Manager

Czym są operatory zbiorów?

$$

Operatory zbiorów łączą wyniki dwóch lub więcej zapytań SELECT w jeden wynik.

$$

  • Klauzule JOIN łączą tabele
    • Zorientowane kolumnowo
  • Operatory zbiorów łączą zapytania
    • Zorientowane wierszowo
Wprowadzenie do Oracle SQL

Rodzaje operatorów zbiorów

Union

Operator Union

Wszystkie wiersze bez duplikatów

Union All

Operator Union All

Wszystkie wiersze z duplikatami

Intersect

Operator Intersect

Wiersze zwrócone przez oba zapytania

Minus

Operator Minus

Unikalne wiersze z 1. zapytania, których nie ma w 2.

Wprowadzenie do Oracle SQL

Union

Wszystkie wiersze bez duplikatów

Jakie miasta są powiązane z naszymi klientami?

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

Union all

Wszystkie wiersze z duplikatami

Jakie miasta są powiązane z naszymi klientami i jak często?

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

Intersect

Wiersze zwrócone przez oba zapytania

Które utwory Milesa Davisa są na playliście?

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

Minus

Unikalne wiersze z 1. zapytania, których nie ma w 2. zapytaniu

Którzy artyści nie komponują muzyki?

(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   |
| ...                      |                                                                       |
Wprowadzenie do Oracle SQL

Czas na ćwiczenia!

Wprowadzenie do Oracle SQL

Preparing Video For Download...