|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL - Opérations ensemblistesLes opérations ensemblistesLes opérations ensemblistes en SQL, sont celles définies dans l'algèbre relationnelle. Elles sont réalisées grâce aux opérateurs :
L'opérateur UNIONCet opérateur permet d'effectuer une UNION des tuples sélectionnés par deux clauses SELECT (les deux tables sur lesquelles on travaille devant avoir le même schéma). SELECT ---- FROM ---- WHERE ------ UNION SELECT ---- FROM ---- WHERE ------ Par défaut les doublons sont automatiquement éliminés. Pour conserver les doublons, il est possible d'utiliser une clause UNION ALL. L'opérateur INTERSECTCet opérateur permet d'effectuer une INTERSECTION des tuples sélectionnés par deux clauses SELECT (les deux tables sur lesquelles on travaille devant avoir le même schéma). SELECT ---- FROM ---- WHERE ------ INTERSECT SELECT ---- FROM ---- WHERE ------ L'opérateur INTERSECT n'étant pas implémenté dans tous les SGBD, il est possible de le remplacer par des commandes usuelles : SELECT a,b FROM table1 WHERE EXISTS ( SELECT c,d FROM table2 WHERE a=c AND b=d ) L'opérateur EXCEPTCet opérateur permet d'effectuer une DIFFERENCE entre les tuples sélectionnés par deux clauses SELECT, c'est-à-dire sélectionner les tuples de la première table n'appartenant pas à la seconde (les deux tables devant avoir le même schéma). SELECT a,b FROM table1 WHERE ------ EXCEPT SELECT c,d FROM table2 WHERE ------ L'opérateur EXCEPT n'étant pas implémenté dans tous les SGBD, il est possible de le remplacer par des commandes usuelles : SELECT a,b FROM table1 WHERE NOT EXISTS ( SELECT c,d FROM table2 WHERE a=c AND b=d ) Discussions pertinentes trouvées dans le forum
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||