Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Cláusula Union | Subconsultas Aninhadas
SQL Intermediário

Cláusula Union

Deslize para mostrar o menu

Você chamou a atenção de um cliente que precisa de consultas SQL. Antes de explorar os JOINs, você aprenderá sobre a cláusula UNION, que é essencial para combinar várias tabelas.

Note
Definição

UNION em SQL é utilizado para combinar os resultados de duas ou mais consultas SELECT em um único conjunto resultante. Permite unir linhas de várias consultas em um único conjunto de dados.

Aqui estão alguns pontos importantes sobre o uso do UNION:

  1. Quantidade e ordem das colunas: todas as consultas combinadas com UNION devem ter o mesmo número de colunas na mesma ordem;

  2. Tipos de dados: as colunas em cada consulta devem ter tipos de dados compatíveis;

  3. Linhas únicas: por padrão, o UNION remove linhas duplicadas. Use UNION ALL se quiser manter os duplicados.

Para uma melhor compreensão de como combinar tabelas corretamente usando a cláusula UNION, foi introduzida uma tabela adicional que contém informações sobre contractors.

Não há muitas informações aqui, apenas first_name, last_name e email.

Você pode ver que esta tabela possui semelhanças com a tabela employees. Utilizando a cláusula UNION, é possível combinar essas duas tabelas para, por exemplo, visualizar uma lista com todos os nomes e sobrenomes de employees e contractors envolvidos na empresa.

Para isso, utilize a cláusula UNION:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id

Existem duas consultas que retornam três colunas cada, com os mesmos tipos de dados. O objetivo é visualizar o Id, first_name e last_name de todos na empresa. A coluna Id também foi renomeada para que ambas as consultas tenham os mesmos nomes de coluna.

UNION combina os resultados dessas consultas, removendo duplicatas (embora não haja nenhuma aqui).

Por fim, os resultados são ordenados por Id usando ORDER BY.

Note
Nota

Os resultados são ordenados por Id, que é uma coluna comum em ambas as tabelas.

Após utilizar o UNION, obtém-se uma "única consulta grande" que pode ser manipulada adicionalmente com cláusulas como ORDER BY.

Não é possível utilizar diretamente WHERE ou GROUP BY com tabelas combinadas usando UNION. Para aplicar essas cláusulas, é necessário utilizar uma subconsulta na seção FROM. Veja um exemplo de como fazer isso:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'

Usar uma subconsulta na seção FROM oferece mais flexibilidade! Pode parecer complicado no início, mas dominar isso tornará a escrita de consultas complexas muito mais fácil.

1. Quais requisitos os conjuntos de resultados devem atender para serem combinados usando UNION?

2. Como a cláusula UNION trata as linhas duplicadas por padrão?

question mark

Quais requisitos os conjuntos de resultados devem atender para serem combinados usando UNION?

Selecione a resposta correta

question mark

Como a cláusula UNION trata as linhas duplicadas por padrão?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 2. Capítulo 5
some-alt