Tutoriel classi...SE CONNECTER
Tutoriel classique SQLite
auteur:php.cn  temps de mise à jour:2022-04-13 17:05:02

Clause enfant SQLite Unions


La clause/opérateur UNION de SQLite est utilisée pour combiner les résultats de deux ou plusieurs instructions SELECT sans renvoyer de lignes en double.

Pour utiliser UNION, le nombre de colonnes sélectionnées dans chaque SELECT doit être le même, le même nombre d'expressions de colonnes, le même type de données et assurez-vous qu'elles ont le même ordre, mais ce n'est pas le cas. doit être de la même longueur.

Syntaxe

UNION La syntaxe de base est la suivante :

SELECT colonne1 [, colonne2 ]
FROM table1 [, table2 ]
[WHERE condition]

UNION

SELECT colonne1 [, colonne2 ]
FROM table1 [, table2 ]
[WHERE condition]

La condition donnée ici peut être n'importe quelle expression selon les besoins.

Exemple

Supposons qu'il existe les deux tables suivantes, (1) La table COMPANY est la suivante :

sqlite> ID NOM ÂGE                                                                                                                                                                                                                                                                   ------  ----------
1           Paul                   32          Californie  2000 0.0
2           Allen                  25          Texas        15000,0
3          Teddy                   23          Norvège      20000.0
4           Marc                  25          Riche -Mond   65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0

(2) L'autre table est DEPARTMENT, comme indiqué ci-dessous :

ID     DEPT     EMP_ID
------------------- ----------- ----------
1          Facturation informatique                                                 Ingénierie 3
5 Finance 4
6 Ingénierie 5
7 Finance 6


Maintenant, connectons les deux à l'aide de l'instruction SELECT et de la table de clause UNION, comme indiqué ci-dessous :

sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT

ON COMPANY.ID = DEPARTMENT.EMP_ID
UNION
SELECT EMP_ID, NOM, DEPT F ROM COMPANY LEFT OUTER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_ID;

Cela produira les résultats suivants :

EMP_ID                                                                                                                                                           ---- ----------
1 Paul IT Billing
2 Allen Engineerin
3 Teddy Engineerin
4 Mark Finance
5 David Engineerin
6 Kim Finance
7                                                                                                                                                                               Finance
Clause UNION ALL Le

L'opérateur UNION ALL est utilisé pour combiner les résultats de deux instructions SELECT, y compris les lignes en double.

Les mêmes règles qui s'appliquent à UNION s'appliquent à l'opérateur UNION ALL.

Syntaxe

UNION ALL La syntaxe de base est la suivante :

SELECT colonne1 [, colonne2 ]
FROM table1 [, table2 ]
[WHERE condition]

UNION ALL

SELECT colonne1 [, colonne2 ]
FROM table1 [, table2 ]
[WHERE condition]
La condition donnée ici peut être n'importe quelle expression selon les besoins.

Exemple

Maintenant, utilisons l'instruction SELECT et la clause UNION ALL pour joindre les deux tables comme suit :

sqlite> 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 <; 🎜>

这将产生以下结果:

EMP_ID      NOM                 DEPT
----------  ---------------- ----  ----------
1           Paul                   Facturation informatique
2           Allen                  Ingénieur
3           Teddy                  Ingénieur
4           Mark                   Finance
5           David                  Ingénieur
6           Kim Finance
7           James                 Finance
1           Paul                   Facturation informatique
2           Allen                  Ingénieur dans
3           Teddy                  Ingénierie
4           Mark                  Finance
5           David                 Engin eerin
6           Kim                     Finances
7           James                  Finances