English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SQLite UNIONcláusula/O operador é usado para combinar os resultados de duas ou mais consultas SELECT, sem retornar linhas repetidas.
Para usar UNION, cada SELECT deve ter o mesmo número de colunas selecionadas, o mesmo número de expressões de coluna, o mesmo tipo de dados e a mesma ordem, mas seus comprimentos não precisam ser iguais.
Aqui está}}UNIONA sintaxe básica.
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Aqui, a condição dada pode ser qualquer expressão específica conforme sua solicitação.
Considere as seguintes duas tabelas, (a) A tabela COMPANY é a seguinte:
sqlite> select * from COMPANY; ID NAME AGE ENDEREÇO SALÁRIO ---------- -------------------- ---------- ---------- ---------- 1 Paul 32 Califórnia 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Noruega 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
(b) Outra tabela é a departmento (DEPARTMENT)--
ID DEPT EMP_ID ---------- -------------------- ---------- 1 IT 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 cláusula UNION na consulta SELECT para conectar essas duas tabelas conforme mostrado a seguir:
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID UNION SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID;
Isso produzirá os seguintes resultados.
EMP_ID NAME DEPT ---------- -------------------- ---------- 1 Paul IT Billing 2 Allen Engenharia 3 Teddy Engenharia 4 Mark Financeira 5 David Engenharia 6 Kim Financeira 7 James Financeira
O operador UNION ALL é usado para combinar os resultados de duas consultas SELECT, incluindo linhas repetidas.
As mesmas regras aplicáveis ao UNION também se aplicam ao operador UNION ALL.
Aqui está a sintaxe básicaUNION ALL。
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION ALL SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Aqui, a condição dada pode ser qualquer expressão específica conforme sua solicitação.
Agora, vamos conectar os dois tabelas no comando SELECT como follows:
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID UNION ALL SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID;
Isso produzirá os seguintes resultados.
EMP_ID NAME DEPT ---------- -------------------- ---------- 1 Paul IT Billing 2 Allen Engenharia 3 Teddy Engenharia 4 Mark Financeira 5 David Engenharia 6 Kim Financeira 7 James Financeira 1 Paul IT Billing 2 Allen Engenharia 3 Teddy Engenharia 4 Mark Financeira 5 David Engenharia 6 Kim Financeira 7 James Financeira