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.

É possível observar que esta tabela apresenta 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, será utilizada 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á ocorrendo:

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. O nome da coluna Id foi padronizado para que ambas as consultas apresentem os mesmos nomes de coluna.

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

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

Note

A ordenação é feita pelo Id, que é uma coluna comum em ambas as tabelas.

Após utilizar UNION, obtém-se uma "consulta única e abrangente" 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

O uso de 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 utilizar a cláusula UNION no SQL?

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

question mark

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

Select the correct answer

question mark

Como a cláusula UNION trata 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

Awesome!

Completion rate improved to 4

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.

É possível observar que esta tabela apresenta 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, será utilizada 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á ocorrendo:

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. O nome da coluna Id foi padronizado para que ambas as consultas apresentem os mesmos nomes de coluna.

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

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

Note

A ordenação é feita pelo Id, que é uma coluna comum em ambas as tabelas.

Após utilizar UNION, obtém-se uma "consulta única e abrangente" 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

O uso de 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 utilizar a cláusula UNION no SQL?

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

question mark

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

Select the correct answer

question mark

Como a cláusula UNION trata 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