cláusula de Sindicatos SQLite
A cláusulaUNION SQLite / operador é usado para combinar dois ou mais da instrução SELECT, ele não retorna quaisquer linhas duplicadas.
Para usar o UNIÃO, o número de colunas em cada SELECÇÃO escolhido deve ser o mesmo, o mesmo número de expressões de coluna, o mesmo tipo de dados, e para assegurar que eles têm o mesmo fim, mas eles não têm, necessariamente, o mesmo comprimento.
gramática
UNIÃO sintaxe básica é a seguinte:
column1 SELECT [, column2] FROM table1 [, table2] [WHERE condição] UNIÃO column1 SELECT [, column2] FROM table1 [, table2] [WHERE condição]
Aqui dadas as condições, se necessário pode ser qualquer expressão.
Exemplos
Suponha que existem duas tabelas abaixo, (1) mesas empresa são as seguintes:
sqlite> SELECT * FROM COMPANY; ID NOME SALÁRIO IDADE ENDEREÇO ---------- -------------------- ---------- ---------- ---------- 1 Paul 32 California 20.000,0 2 Allen 25 Texas 15.000,0 3 Teddy 23 Norway 20.000,0 4 Mark 25 Rich-Mond 65.000,0 5 David 27 Texas 85.000,0 6 Kim 22 Sul-Hall 45.000,0 7 James 24 Houston 10000.0
(2) é um outro serviço de mesa, como se segue:
ID DEPT EMP_ID ---------- -------------------- ---------- 1 Billing 1 2 Engenharia 2 3 Finanças 7 4 Engenharia 3 5 Finanças 4 6 Engenharia 5 7 Finanças 6
Agora, vamos usar a instrução SELECT e a cláusula UNION para unir duas tabelas, como segue:
sqlite> EMP_ID SELECT, NOME, DEPARTAMENTO DE EMPRESA INNER JOIN DEPARTAMENTOS ON COMPANY.ID = DEPARTMENT.EMP_ID UNIÃO EMP_ID SELECT, NOME, DEPARTAMENTO DE EMPRESA LEFT OUTER JOIN DEPARTAMENTOS ON COMPANY.ID = DEPARTMENT.EMP_ID;
Isto produz os seguintes resultados:
EMP_ID NOME DEPT ---------- -------------------- ---------- Faturamento 1 Paul TI 2 Allen Engineerin 3 Teddy Engineerin 4 Mark Finanças 5 David Engineerin 6 Kim Finanças 7 James Finanças
Cláusula UNION ALL
Operador UNION ALL é usado para combinar os resultados de duas instruções SELECT, incluindo duplicatas.
UNIÃO aplica as mesmas regras se aplicam a operador UNION ALL.
gramática
A sintaxe básica paraUNION ALL é como se segue:
column1 SELECT [, column2] FROM table1 [, table2] [WHERE condição] UNION ALL column1 SELECT [, column2] FROM table1 [, table2] [WHERE condição]
Aqui dadas as condições, se necessário pode ser qualquer expressão.
Exemplos
Agora, vamos usar a instrução SELECT e cláusula UNION ALL para unir duas tabelas, como segue:
sqlite> EMP_ID SELECT, NOME, DEPARTAMENTO DE EMPRESA INNER JOIN DEPARTAMENTOS ON COMPANY.ID = DEPARTMENT.EMP_ID UNION ALL EMP_ID SELECT, NOME, DEPARTAMENTO DE EMPRESA LEFT OUTER JOIN DEPARTAMENTOS ON COMPANY.ID = DEPARTMENT.EMP_ID;
Isto produz os seguintes resultados:
EMP_ID NOME DEPT ---------- -------------------- ---------- Faturamento 1 Paul TI 2 Allen Engineerin 3 Teddy Engineerin 4 Mark Finanças 5 David Engineerin 6 Kim Finanças 7 James Finanças Faturamento 1 Paul TI 2 Allen Engineerin 3 Teddy Engineerin 4 Mark Finanças 5 David Engineerin 6 Kim Finanças 7 James Finanças