Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Pr�c�dent | Arri�re rapide | Chapitre 7. Requ�tes | Avance rapide | Suivant |
Les r�sultats de deux requ�tes peuvent �tre combin�s en utilisant les op�rations ensemblistes : union, intersection et diff�rence. La syntaxe est
requete1 UNION [ALL] requete2 requete1 INTERSECT [ALL] requete2 requete1 EXCEPT [ALL] requete2
requete1 et requete2 sont des requ�tes pouvant utiliser toutes les fonctionnalit�s discut�es jusqu'ici. Les op�rations ensemblistes peuvent �galement �tre combin�es et cha�n�es. Ainsi
requete1 UNION requete2 UNION requete3
qui signifie r�ellement
(requete1 UNION requete2) UNION requete3
UNION ajoute simplement le r�sultat de requete2 au r�sultat de requete1 (il n'y a cependant aucune garantie sur l'ordre effectif de retour des lignes). De plus, toutes les lignes dupliqu�es sont �limin�es, au sens de DISTINCT, � moins que UNION ALL ne soit utilis�.
INTERSECT renvoie toutes les lignes qui sont � la fois dans le r�sultat de requete1 et dans le r�sultat de requete2. Les lignes dupliqu�es sont �limin�es, sauf si INTERSECT ALL est utilis�.
EXCEPT renvoie toutes les lignes qui sont dans le r�sultat de requete1 mais pas dans celui de requete2. (On parle parfois de diff�rence entre deux requ�tes.) L� aussi, les lignes dupliqu�es sont �limin�es, sauf si EXCEPT ALL est utilis�.
Pour calculer l'union, l'intersection ou la diff�rence de deux requ�tes, il est imp�ratif que les deux requ�tes soient <<�compatibles pour une union�>>. Cela signifie qu'elles doivent renvoyer le m�me nombre de colonnes et que les colonnes correspondantes doivent avoir des types de donn�es compatibles, comme cela est d�crit dans Section 10.5.
Pr�c�dent | Sommaire | Suivant |
Listes de s�lection | Niveau sup�rieur | Tri de lignes |