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
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
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.

Note
Definição

UNION no 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. Utilize UNION ALL se desejar manter os duplicados.

Para uma melhor compreensão de como combinar tabelas corretamente utilizando 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 employees e contractors 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 colunas.

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

Por fim, ordenamos os resultados por Id utilizando ORDER BY.

Note
Nota

Estamos ordenando por 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 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 mais flexibilidade. Pode parecer complicado no início, mas dominar esse recurso facilita a criação de consultas complexas.

1. Quais colunas são exigidas 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 exigidas 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

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.

Note
Definição

UNION no 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. Utilize UNION ALL se desejar manter os duplicados.

Para uma melhor compreensão de como combinar tabelas corretamente utilizando 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 employees e contractors 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 colunas.

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

Por fim, ordenamos os resultados por Id utilizando ORDER BY.

Note
Nota

Estamos ordenando por 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 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 mais flexibilidade. Pode parecer complicado no início, mas dominar esse recurso facilita a criação de consultas complexas.

1. Quais colunas são exigidas 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 exigidas 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