Množinové operátory

Introduction to Oracle SQL

Sara Billen

Curriculum Manager

Co jsou množinové operátory?

$$

Množinové operátory kombinují výstup dvou nebo více dotazů SELECT do jednoho výsledku.

$$

  • Klauzule JOIN kombinuje tabulky
    • Sloupcově orientováno
  • Množinové operátory kombinují dotazy
    • Řádkově orientováno
Introduction to Oracle SQL

Typy množinových operátorů

Union

Operátor Union

Všechny řádky bez duplikátů

Union All

Operátor Union All

Všechny řádky včetně duplikátů

Intersect

Operátor Intersect

Řádky vrácené oběma dotazy

Minus

Operátor Minus

Jedinečné řádky 1. dotazu, které nejsou ve 2. dotazu

Introduction to Oracle SQL

Union

Všechny řádky bez duplikátů

Která města jsou spojena s našimi klienty?

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

Union all

Všechny řádky včetně duplikátů

Která města jsou spojena s našimi klienty a jak často?

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

Intersect

Řádky vrácené oběma dotazy

Které skladby Milese Davise jsou v playlistu?

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

Minus

Jedinečné řádky 1. dotazu, které nejsou ve 2. dotazu

Kteří umělci neskladají hudbu?

(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   |
| ...                      |                                                                       |
Introduction to Oracle SQL

Lass uns üben!

Introduction to Oracle SQL

Preparing Video For Download...