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

bookCláusula Union

Chamamos a atenção de um cliente que precisa de consultas SQL. Antes de explorarmos os JOINs, vamos aprender sobre a cláusula UNION, que é fundamental para combinar várias tabelas.

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 desejar 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 observar 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 funcionários e contratados envolvidos na empresa.

Para isso, utilizaremos 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
copy

Análise do que está acontecendo:

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. Também renomeamos a coluna Id para que ambas as consultas apresentem os mesmos nomes de coluna.

Em seguida, utiliza-se o UNION para combinar os resultados dessas consultas, removendo duplicatas (embora não haja nenhuma neste caso).

Por fim, os resultados são ordenados pelo Id utilizando ORDER BY.

Note

Estamos ordenando pelo 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 posteriormente 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'
copy

Utilizar uma subconsulta na seção FROM proporciona maior flexibilidade. Pode parecer complicado no início, mas dominar esse recurso facilita a criação de consultas complexas.

1. Quais colunas são necessárias ao usar a cláusula UNION no SQL?

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

question mark

Quais colunas são necessárias ao usar a cláusula UNION no SQL?

Select the correct answer

question mark

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

Select the correct answer

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

Suggested prompts:

Can you explain the difference between UNION and UNION ALL?

How do I know when to use a subquery with UNION?

Can you show more examples of using UNION with different tables?

bookCláusula Union

Deslize para mostrar o menu

Chamamos a atenção de um cliente que precisa de consultas SQL. Antes de explorarmos os JOINs, vamos aprender sobre a cláusula UNION, que é fundamental para combinar várias tabelas.

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 desejar 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 observar 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 funcionários e contratados envolvidos na empresa.

Para isso, utilizaremos 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
copy

Análise do que está acontecendo:

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. Também renomeamos a coluna Id para que ambas as consultas apresentem os mesmos nomes de coluna.

Em seguida, utiliza-se o UNION para combinar os resultados dessas consultas, removendo duplicatas (embora não haja nenhuma neste caso).

Por fim, os resultados são ordenados pelo Id utilizando ORDER BY.

Note

Estamos ordenando pelo 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 posteriormente 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'
copy

Utilizar uma subconsulta na seção FROM proporciona maior flexibilidade. Pode parecer complicado no início, mas dominar esse recurso facilita a criação de consultas complexas.

1. Quais colunas são necessárias ao usar a cláusula UNION no SQL?

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

question mark

Quais colunas são necessárias ao usar a cláusula UNION no SQL?

Select the correct answer

question mark

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

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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