Resumo: neste tutorial, você vai aprender como usar o MySQL UNION
operador de combinar dois ou mais conjuntos de resultados de vários SELECT
instruções em um único conjunto de resultados.
operador da União MySQL
MySQL UNION
operador permite combinar dois ou mais conjuntos de resultados de consultas num único conjunto de resultados., A seguir ilustra a sintaxe da tag UNION
operador:
Para combinar conjunto de resultados de duas ou mais consultas usando o UNION
operador, estas são as regras básicas que você deve seguir:
- Primeiro, o número e as ordens de colunas que aparecem em todas as
SELECT
instruções tem de ser o mesmo.em segundo lugar, os tipos de dados das colunas devem ser os mesmos ou compatíveis.,
Por padrão, o UNION
operador remove linhas duplicadas-mesmo se você não especificar o DISTINCT
operador explicitamente.,
Vamos ver as tabelas de exemplo a seguir: t1
e t2
:
a instrução A seguir combina conjuntos de resultados retornados de t1
e t2
tabelas:
Code language: SQL (Structured Query Language) (sql)
O resultado final do conjunto contém os valores distintos de diferentes conjuntos de resultados retornados por consultas:
Code language: SQL (Structured Query Language) (sql)
uma Vez que as linhas com o valor 2 e 3 são duplicados, o UNION
removido e mantido apenas valores exclusivos.,
O seguinte diagrama de Venn ilustra a união de dois conjuntos de resultados que vêm de t1
e t2
tabelas:
Se você usar o UNION ALL
explicitamente, as linhas duplicadas, se disponível, permanecem no resultado. Porque UNION ALL
não precisa lidar com duplicatas, ele executa mais rápido do que UNION DISTINCT
.,
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Como você pode ver, as repetições aparecem no resultado combinado definido por causa da UNION ALL
operação.
União vs. União
a JOIN
combina conjuntos de resultados horizontalmente, aUNION
adiciona resultados definidos verticalmente.,ple banco de dados para a demonstração:
Suponha que você deseja combinar com o primeiro nome e o último nome dos funcionários e clientes em um único conjunto de resultados, você pode usar o UNION
operador da seguinte forma:
Code language: SQL (Structured Query Language) (sql)
Como você pode ver a partir da saída, o MySQL UNION
usa os nomes de coluna da primeira SELECT
instrução para os cabeçalhos de coluna de saída.,
Se você quiser usar outros títulos de coluna, você precisa usar aliases de coluna explicitamente no primeiro SELECT
instrução, como mostrado no exemplo a seguir:
Este exemplo usa o cabeçalho de coluna da primeira consulta para a saída. Ele usa a função CONCAT()
para concatenar primeiro nome, espaço e sobrenome em um nome completo.,
MySQL UNIÃO e ORDER BY
Se você deseja classificar o conjunto de resultados de uma união, você pode usar um ORDER BY
cláusula nos últimos SELECT
instrução, como mostrado no exemplo a seguir:
Observe que, se você colocar o ORDER BY
cláusula em cada SELECT
instrução, isto não irá afetar a ordem das linhas no resultado final do conjunto.,
Para diferenciar entre funcionários e clientes, você pode adicionar uma coluna, como mostrado na seguinte consulta:
o MySQL também oferece uma opção alternativa para classificar um conjunto de resultados com base na posição da coluna usando ORDER BY
cláusula da seguinte forma:
no Entanto, não é uma boa prática para classificar o resultado definido pela posição da coluna.
neste tutorial, você aprendeu a usar MySQL UNION
declaração para combinar dados de várias consultas em um único conjunto de resultados.,
- este tutorial foi útil?
- YesNo