Operadores de conjunto

Introdução ao Oracle SQL

Sara Billen

Curriculum Manager

O que são operadores de conjunto?

$$

Operadores de conjunto pegam o resultado de duas ou mais consultas SELECT e combinam em um único resultado.

$$

  • Cláusulas de junção combinam tabelas
    • Orientado a colunas
  • Operadores de conjunto combinam consultas
    • Orientado a linhas
Introdução ao Oracle SQL

Tipos de operadores de conjunto

Union

Operador Union

Todas as linhas sem duplicatas

Union All

Operador Union All

Todas as linhas com duplicatas

Intersect

Operador Intersect

Linhas retornadas por ambas as consultas

Minus

Operador Minus

Linhas distintas da 1ª consulta que não estão na 2ª

Introdução ao Oracle SQL

Union

Todas as linhas sem duplicatas

Quais são todas as cidades associadas aos nossos clientes?

SELECT City FROM Customer
UNION
SELECT BillingCity FROM Invoice
| City           |
|----------------|
| Lyon           |
| Fort Worth     |
| Vienne         |
| Brussels       |
| Orlando        |
| Copenhagen     |
| Oslo           |
| Rio de Janeiro |
| Boston         |
| ...            |
Introdução ao Oracle SQL

Union all

Todas as linhas com duplicatas

Quais são todas as cidades associadas aos nossos clientes e com que frequência?

SELECT City from Customer
UNION ALL
SELECT BillingCity from Invoice
| City          |
|---------------|
| Oslo          |
| Prague        |
| Prague        |
| Vienee        |
| Brussels      |
| Copenhagen    |
| Mountain View |
| Mountain View |
| Mountain View |
| ...           |
Introdução ao Oracle SQL

Intersect

Linhas retornadas por ambas as consultas

Quais faixas de Miles Davis estão em uma playlist?

(SELECT TrackId from PlaylistTrack)
INTERSECT
(SELECT TrackId from Track
WHERE Composer = 'Miles Davis')
| TrackId |
|---------|
| 612     |
| 600     |
| 614     |
| 604     |
| 605     |
| 598     |
| 617     |
Introdução ao Oracle SQL

Minus

Linhas distintas na 1ª consulta que não estão na 2ª

Quem são artistas que não compõem música?

(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   |
| ...                      |                                                                       |
Introdução ao Oracle SQL

Vamos praticar!

Introdução ao Oracle SQL

Preparing Video For Download...