Opérateurs ensemblistes

Introduction à Oracle SQL

Sara Billen

Curriculum Manager

Qu'est-ce qu'un opérateur ensembliste ?

$$

Les opérateurs ensemblistes prennent la sortie de deux SELECT ou plus et la fusionnent en un seul résultat.

$$

  • Les clauses de jointure combinent des tables
    • Orienté colonnes
  • Les opérateurs ensemblistes combinent des requêtes
    • Orienté lignes
Introduction à Oracle SQL

Types d'opérateurs ensemblistes

Union

Opérateur Union

Toutes les lignes sans doublons

Union All

Opérateur Union All

Toutes les lignes avec doublons

Intersect

Opérateur Intersect

Lignes communes aux deux requêtes

Minus

Opérateur Minus

Lignes distinctes de la 1re requête absentes de la 2e

Introduction à Oracle SQL

Union

Toutes les lignes sans doublons

Quelles sont toutes les villes associées à nos clients ?

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

Union all

Toutes les lignes avec doublons

Quelles sont toutes les villes associées à nos clients et avec quelle fréquence ?

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

Intersect

Lignes communes aux deux requêtes

Quels morceaux de Miles Davis figurent dans une playlist ?

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

Minus

Lignes distinctes de la 1re requête qui ne sont pas dans la 2e

Quels artistes ne composent pas de musique ?

(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 à Oracle SQL

Passons à la pratique !

Introduction à Oracle SQL

Preparing Video For Download...