Ao lidar com dados em bancos de dados, muitas vezes tendemos a usar os operadores de conjunto em SQL , para recuperar dados de acordo com nossos requisitos, combinando duas ou mais instruções SELECT. Neste artigo sobre SQL UNION, discutirei o operador UNION usado para recuperar dados na seguinte sequência:
Vamos começar!
O que é o operador SQL UNION?
Como o nome sugere, esse operador / cláusula é usado para combinar os resultados de duas ou mais instruções SELECT. Aqui, cada instrução SELECT usada na instrução UNION deve ter o mesmo número de colunas na mesma ordem. Além disso, todas as colunas presentes nas instruções SELECT devem ter tipos de dados semelhantes.
A cláusula UNION fornece apenas valores exclusivos como saída. Por precaução, você deseja valores duplicados, então você deve usar a cláusula UNION ALL.
Continuando neste artigo sobre SQL UNION, vamos entender a sintaxe.
Sintaxe SQL UNION
Sintaxe UNION
SELECIONE Coluna1, Coluna2, Coluna3, ..., ColunaN DA Tabela1 SELECIONE UNIÃO Coluna1, Coluna2, Coluna3, ..., ColunaN DA Tabela2
Sintaxe UNION ALL
SELECIONE Coluna1, Coluna2, Coluna3, ..., ColunaN DA Tabela1 UNION ALL SELECT Coluna1, Coluna2, Coluna3, ..., ColunaN DA Tabela2
Continuando neste artigo, vamos entender as diferenças entre UNION e UNION ALL.
Diferenças entre SQL UNION e UNION ALL
UNIÃO | UNION ALL |
Combina dois ou mais conjuntos de resultados e não mantém os valores duplicados. | Combina dois ou mais conjuntos de resultados e mantém os valores duplicados. |
Sintaxe: UNIÃO | Sintaxe: UNION ALL |
A seguir, neste artigo sobre SQL UNION, vamos entender as diferentes maneiras de usar este operador.
série fibonacci em c ++
Exemplos de SQL UNION e UNION ALL
Para sua melhor compreensão, considerarei as tabelas a seguir para mostrar a você diferentes exemplos.
Mesa de Funcionários
EmpID | Nome | EmpAge | Cidade | Código postal | País |
1 | Emma | 2,3 | Berlim | 12109 | Alemanha |
2 | Rahul | 26 | Mumbai | 400015 | Índia |
3 | Aayra | 24 | Nova york | 10014 | USOS |
4 | John | 32 | Londres | E1 7AE | Reino Unido |
5 | Derek | 29 | Nova york | 10012 | USOS |
Tabela de Projetos
ProjectID | Nome | Dias úteis | Cidade | Código postal | País |
1 | Projeto 1 | 10 | Berlim | 12109 | Alemanha |
2 | Projeto 2 | 7 | Mumbai | 400015 | Índia |
3 | Projeto 3 | vinte | Délhi | 110006 | Índia |
4 | Projeto 4 | quinze | Mumbai | 400015 | Índia |
5 | Projeto 5 | 28 | Berlim | 12109 | Alemanha |
Vamos começar com exemplos.
Exemplos UNION SQL
Exemplo de operador UNION
Escreva uma consulta para recuperar cidades distintas da tabela Funcionários e Projetos.
SELECIONE Cidade FROM Funcionários UNIÃO SELECIONE Cidade FROM Projetos ORDENAR POR Cidade
Resultado:
Cidade |
Berlim |
Délhi |
Londres |
Mumbai |
Nova york |
Exemplo de operador UNION ALL
Escreva uma consulta para recuperar cidades da tabela Funcionários e Projetos. Aqui, valores duplicados devem ser incluídos.
SELECIONE Cidade FROM Funcionários UNION ALL SELECIONE Cidade FROM Projetos ORDEM POR Cidade
Resultado:
Cidade |
Berlim |
Berlim |
Berlim |
Délhi |
Londres |
Mumbai |
Mumbai |
Mumbai |
Nova york |
Nova york |
A seguir neste artigo, vamos entender como usar a cláusula UNION com aliases SQL.
UNION com SQL Aliases
Aliases SQL são usadospara dar a uma tabela ou coluna um nome temporário. Então, vamos escrever uma consulta para listar todos os funcionários e projetos exclusivos.
SELECIONE 'Funcionário' AS Tipo, Nome, Cidade, País FROM Funcionários UNION SELECIONE 'Projeto', Nome, Cidade, País FROM Projetos
Resultado:
Tipo | Nome | Cidade | País |
Empregado | Emma | Berlim | Alemanha |
Empregado | Rahul | Mumbai | Índia |
Empregado | Aayra | Nova york | USOS |
Empregado | John | Londres | Reino Unido |
Empregado | Derek | Nova york | USOS |
Projeto | Projeto 1 | Berlim | Alemanha |
Projeto | Projeto 2 | Mumbai | Índia |
Projeto | Projeto 3 | Délhi | Índia |
Projeto | Projeto 4 | Mumbai | Índia |
Projeto | Projeto 5 | Berlim | Alemanha |
UNION com cláusula WHERE
Escreva uma consulta para recuperar as cidades indianas distintas e seus códigos postais da tabela Funcionários e Projetos.
SELECT Cidade, PostalCode, País FROM Funcionários WHERE País = 'Índia' UNION SELECT Cidade, PostalCode, País FROM Projetos WHERE País = 'Índia' ORDENAR POR Cidade
Resultado:
Cidade | Código postal | País |
Délhi | 110006 | Índia |
Mumbai | 400015 | Índia |
UNION ALL com cláusula WHERE
Escreva uma consulta para recuperar cidades indianas e seus códigos postais da tabela Funcionários e Projetos, onde valores duplicados são permitidos
SELECIONE Cidade, Código Postal, País FROM Funcionários WHERE País = 'Índia' UNION ALL SELECT Cidade, Código Postal, País FROM Projetos WHERE País = 'Índia' ORDENAR POR Cidade
Resultado:
Cidade | Código postal | País |
Délhi | 110006 | Índia |
Mumbai | 400015 | Índia |
Mumbai | 400015 | Índia |
Mumbai | 400015 | Índia |
Avançando neste artigo, vamos entender como usar as cláusulas UNION e UNION ALL com JOINS.JOINS em SQL são que são usados para combinar linhas de duas ou mais tabelas, com base em uma coluna relacionada entre essas tabelas.
UNION com JOINS
O operador SQL UNION pode ser usado com para recuperar dados de duas tabelas diferentes. Vou considerar a tabela a seguir junto com a tabela Funcionários para o exemplo.
Tabela ProjectDetails
PID | Dias úteis | EmpID | CostforProject |
onze | 12 | 4 | 20.000 |
22 | 16 | 3 | 35000 |
33 | 30 | 1 | 60.000 |
44 | 25 | 3 | 45000 |
55 | vinte e um | 1 | 50.000 |
SELECIONE EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELECIONE EmpID, Nome, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Resultado:
EmpID | Nome | CostforProject |
1 | Emma | 60.000 |
1 | Emma | 50.000 |
2 | Rahul | NULO |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20.000 |
5 | Derek | NULO |
UNION ALL com JOINS
Escreva uma consulta para recuperar EmpID, Name e CostforProject da tabela Employees e ProjectDetails, onde valores duplicados são permitidos.
SELECIONE EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ALL SELECIONE EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Resultado:
EmpID | Nome | CostforProject |
1 | Emma | 60.000 |
1 | Emma | 50.000 |
2 | Rahul | NULO |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20.000 |
5 | Derek | NULO |
4 | John | 20.000 |
3 | Aayra | 35000 |
1 | Emma | 60.000 |
3 | Aayra | 35000 |
1 | Emma | 50.000 |
Com isso, chego ao final deste artigo sobre SQL UNION. Espero que tenha gostado de ler este artigo sobre SQL UNION. Vimos as diferentes maneiras de usar os comandos UNION e UNION ALL para ajudá-lo a escrever consultas. Se você deseja aprender mais sobre MySQL e conheça este banco de dados relacional de código aberto, depois verifique nosso que vem com treinamento ao vivo conduzido por instrutor e experiência em projetos da vida real. Este treinamento o ajudará a entender o MySQL em profundidade e a obter domínio sobre o assunto.
como se tornar um desenvolvedor de tableau
Tem alguma questão para nós? Mencione isso na seção de comentários de ”SQL UNION” e eu entrarei em contato com você.