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. Utilize 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 perceber que esta tabela possui semelhanças com a tabela employees. Utilizando a cláusula UNION, podemos 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

Vamos analisar o que está acontecendo:

Temos duas consultas que retornam três colunas cada, com os mesmos tipos de dados. Queremos visualizar o Id, first_name e last_name de todos na empresa. Também renomeamos a coluna Id para que ambas as consultas tenham os mesmos nomes de coluna.

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

Por fim, ordenamos os resultados pelo Id utilizando o ORDER BY.

Note

Estamos ordenando pelo Id, que é uma coluna comum em ambas as tabelas.

Após utilizar o UNION, obtemos uma "única consulta grande" que pode ser manipulada ainda mais com cláusulas como ORDER BY.

Não é possível usar diretamente WHERE ou GROUP BY com tabelas combinadas utilizando 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 mais flexibilidade! Pode parecer complicado no início, mas dominar esse recurso tornará a escrita de consultas complexas muito mais fácil.

1. Quais colunas são necessárias ao utilizar 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 utilizar 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

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. Utilize 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 perceber que esta tabela possui semelhanças com a tabela employees. Utilizando a cláusula UNION, podemos 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

Vamos analisar o que está acontecendo:

Temos duas consultas que retornam três colunas cada, com os mesmos tipos de dados. Queremos visualizar o Id, first_name e last_name de todos na empresa. Também renomeamos a coluna Id para que ambas as consultas tenham os mesmos nomes de coluna.

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

Por fim, ordenamos os resultados pelo Id utilizando o ORDER BY.

Note

Estamos ordenando pelo Id, que é uma coluna comum em ambas as tabelas.

Após utilizar o UNION, obtemos uma "única consulta grande" que pode ser manipulada ainda mais com cláusulas como ORDER BY.

Não é possível usar diretamente WHERE ou GROUP BY com tabelas combinadas utilizando 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 mais flexibilidade! Pode parecer complicado no início, mas dominar esse recurso tornará a escrita de consultas complexas muito mais fácil.

1. Quais colunas são necessárias ao utilizar 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 utilizar 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