Livre_silo 30 août 2013 16:32 Page 270
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
270
Informatique pour tous
Pour les sélections composées, il est possible d’utiliser directement les opérateurs booléens
dans la condition. Par exemple, la condition :
« Soit le nom de l’élève est Michel et son prénom n’est pas Zoé, soit il est en PCSI 1 »
pourra directement être traduite par la requête :
SELECT * FROM eleve WHERE (nom = 'Michel' AND prenom != 'Zoé') OR classe = 'PCSI 1';
10.4.4 Opérations ensemblistes
Pour réaliser des opérations ensemblistes, il est d’abord nécessaire d’obtenir l’intégralité
des tables grâce à une projection avec l’attribut *. Ensuite, on utilise les mots-clés UNION,
INTERSECT ou EXCEPT pour réaliser les opérations d’union, d’intersection et de différence.
Par exemple, pour effectuer R 1 ∩ R 2 , on écrit :
SELECT * FROM R1 INTERSECT SELECT * FROM R2;
10.4.5 Renommage
Pour renommer un attribut, on décore une projection par le mot-clé AS.
Par exemple, on prend R une relation de schéma (A 1 , · · · , A n , C 1 , · · · , C m ) où l’on souhaite obtenir ρ A1,··· ,An←B1,··· ,Bn (R).
On effectue :
SELECT A1 AS B1, ..., An AS Bn, C1, ..., Cm FROM R;
Il est donc nécessaire d’indiquer tous les attributs.
SAVOIR-FAIRE Traduire une question dans un langage de requête
en respectant sa syntaxe
La construction de requêtes élaborées est facilitée par le fait que les commandes
SQL traduisent simultanément plusieurs opérations. L’optimisation de ces requêtes
est donc laissée à la charge du gestionnaire de bases de données.
Les requêtes SQL ne sont pas sensibles à la casse, mais il est d’usage de mettre les
mots-clés en majuscules et les attributs en minuscules. Les valeurs des attributs non
numériques sont écrites entre guillemets simples ou doubles. On note que :
• Toutes les requêtes de recherche commencent par le mot-clé SELECT, qui effectuera
une projection en fin de requête.
• La relation sur laquelle on opère est précisée par FROM.
• Les requêtes SQL se terminent systématiquement par un point-virgule.
Attention au faux-ami : SELECT n’effectue pas une sélection, mais une projection.
Précédent

- 283/402

Suivant