Mängdoperatorer

Introduktion till Oracle SQL

Sara Billen

Curriculum Manager

Vad är mängdoperatorer?

$$

Mängdoperatorer tar utdata från två eller fler SELECT-frågor och kombinerar dem till ett resultat.

$$

  • JOIN kombinerar tabeller
    • Kolumnorienterat
  • Mängdoperatorer kombinerar frågor
    • Radorienterat
Introduktion till Oracle SQL

Typer av mängdoperatorer

Union

Union-operatorn

Alla rader utan dubbletter

Union All

Union all-operatorn

Alla rader med dubbletter

Intersect

Intersect-operatorn

Rader som returneras av båda frågorna

Minus

Minus-operatorn

Distinkta rader i den 1:a frågan som inte finns i den 2:a

Introduktion till Oracle SQL

Union

Alla rader utan dubbletter

Vilka städer är kopplade till våra kunder?

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

Union all

Alla rader med dubbletter

Vilka städer är kopplade till våra kunder och hur ofta förekommer de?

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

Intersect

Rader som returneras av båda frågorna

Vilka låtar av Miles Davis finns i en spellista?

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

Minus

Distinkta rader i den 1:a frågan som inte finns i den 2:a frågan

Vilka artister komponerar inte musik?

(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   |
| ...                      |                                                                       |
Introduktion till Oracle SQL

Nu kör vi en övning!

Introduktion till Oracle SQL

Preparing Video For Download...