SQL	
  –	
  Instruction	
  SELECT	
  
Syntaxe	
  générale	
  
SELECT	
  liste	
  des	
  attributs*	
  
FROM	
  liste	
  des	
  tables*	
  
[WHERE	
  clause	
  conditionnelle	
  et/ou	
  jointures]	
  
[GROUP	
  BY	
  liste	
  d'attributs	
  de	
  regroupement	
  [HAVING	
  clause	
  conditionnelle]	
  ]	
  
[ORDER	
  BY	
  liste	
  d’attributs	
  [ASC**]	
  [DESC]	
  ];	
  
• Chaque	
  élément	
  d’une	
  liste	
  est	
  séparé	
  du	
  suivant	
  par	
  une	
  virgule.	
  
• **	
  L’ordre	
  de	
  tri	
  par	
  défaut	
  sera	
  l’ordre	
  ascendant,	
  l’opérateur	
  ASC	
  est	
  donc	
  facultatif.	
  
• Les	
  éléments	
  d’une	
  condition	
  peuvent	
  être	
  séparés	
  par	
  AND	
  ou	
  OR	
  
• Des	
  noms	
  raccourcis	
  peuvent	
  être	
  attribués	
  aux	
  tables	
  utilisées	
  dans	
  la	
  clause	
  FROM	
  
Ex	
  :	
  SELECT	
  noclient,	
  nofact	
  FROM	
  facture	
  f,	
  client	
  cl	
  (	
  …	
  )	
  
Attention	
  :	
  ces	
  raccourcis	
  remplacent	
  le	
  nom	
  complet	
  pour	
  toute	
  la	
  requête.	
  
Opérateurs	
  logiques	
  
AND	
  correspond	
  à	
  l'opérateur	
  logique	
  ET,	
  OR	
  à	
  l'opérateur	
  logique	
  OU	
  
AND	
   V	
   F	
   	
   OR	
   V	
   F	
  
V	
   V	
   F	
   	
   V	
   V	
   V	
  
F	
   F	
   F	
   	
   F	
   V	
   F	
  
	
  
Opérateurs	
  divers	
  :	
  
Les	
  opérateurs	
  de	
  calculs	
  et	
  de	
  comparaison	
  sont	
  semblables	
  à	
  ceux	
  utilisés	
  dans	
  Excel	
  
	
  
attribut	
  BETWEEN	
  valeur1	
  AND	
  valeur2	
  	
  à	
  toto	
  appartient	
  à	
  l'encadrement	
  [valeur1;valeur2]	
  	
  
	
  
Agrégation	
  :	
  SUM(),	
  MAX(),	
  MIN(),	
  AVERAGE(),	
  COUNT()	
  
	
  
Gestion	
  des	
  chaînes	
  de	
  caractères	
  
• Les	
  chaines	
  de	
  caractères	
  sont	
  encadrées	
  par	
  des	
  guillemets	
  doubles.	
  (ex	
  :	
  "chaine")	
  
• &	
  permet	
  de	
  concaténer	
  plusieurs	
  chaînes	
  de	
  caractères	
  :	
  "1po"	
  &	
  "45"	
  devient	
  "1po45"	
  
• LIKE	
  permet	
  de	
  donner	
  une	
  approximation	
  pour	
  une	
  chaîne	
  de	
  caractères	
  :	
  WHERE	
  toto	
  LIKE	
  
"alpha*"	
  
• Caractère	
  joker	
  :	
  le	
  symbole	
  %	
  est	
  utilisable	
  pour	
  représenter	
  zéro,	
  1	
  ou	
  n	
  caractères	
  dans	
  les	
  
requêtes	
  SQL	
  mais	
  dans	
  ACCESS	
  il	
  est	
  remplacé	
  par	
  *	
  
Opération	
  sur	
  les	
  ensembles	
  :	
  
IN	
  permet	
  de	
  vérifier	
  si	
  un	
  élément	
  d'un	
  ensemble	
  appartient	
  à	
  un	
  autre	
  ensemble	
  
NOT	
  IN	
  permet	
  de	
  vérifier	
  si	
  un	
  élément	
  d'un	
  ensemble	
  n'appartient	
  pas	
  à	
  un	
  autre	
  ensemble	
  

SQL-Select.pdf

  • 1.
    SQL  –  Instruction  SELECT   Syntaxe  générale   SELECT  liste  des  attributs*   FROM  liste  des  tables*   [WHERE  clause  conditionnelle  et/ou  jointures]   [GROUP  BY  liste  d'attributs  de  regroupement  [HAVING  clause  conditionnelle]  ]   [ORDER  BY  liste  d’attributs  [ASC**]  [DESC]  ];   • Chaque  élément  d’une  liste  est  séparé  du  suivant  par  une  virgule.   • **  L’ordre  de  tri  par  défaut  sera  l’ordre  ascendant,  l’opérateur  ASC  est  donc  facultatif.   • Les  éléments  d’une  condition  peuvent  être  séparés  par  AND  ou  OR   • Des  noms  raccourcis  peuvent  être  attribués  aux  tables  utilisées  dans  la  clause  FROM   Ex  :  SELECT  noclient,  nofact  FROM  facture  f,  client  cl  (  …  )   Attention  :  ces  raccourcis  remplacent  le  nom  complet  pour  toute  la  requête.   Opérateurs  logiques   AND  correspond  à  l'opérateur  logique  ET,  OR  à  l'opérateur  logique  OU   AND   V   F     OR   V   F   V   V   F     V   V   V   F   F   F     F   V   F     Opérateurs  divers  :   Les  opérateurs  de  calculs  et  de  comparaison  sont  semblables  à  ceux  utilisés  dans  Excel     attribut  BETWEEN  valeur1  AND  valeur2    à  toto  appartient  à  l'encadrement  [valeur1;valeur2]       Agrégation  :  SUM(),  MAX(),  MIN(),  AVERAGE(),  COUNT()     Gestion  des  chaînes  de  caractères   • Les  chaines  de  caractères  sont  encadrées  par  des  guillemets  doubles.  (ex  :  "chaine")   • &  permet  de  concaténer  plusieurs  chaînes  de  caractères  :  "1po"  &  "45"  devient  "1po45"   • LIKE  permet  de  donner  une  approximation  pour  une  chaîne  de  caractères  :  WHERE  toto  LIKE   "alpha*"   • Caractère  joker  :  le  symbole  %  est  utilisable  pour  représenter  zéro,  1  ou  n  caractères  dans  les   requêtes  SQL  mais  dans  ACCESS  il  est  remplacé  par  *   Opération  sur  les  ensembles  :   IN  permet  de  vérifier  si  un  élément  d'un  ensemble  appartient  à  un  autre  ensemble   NOT  IN  permet  de  vérifier  si  un  élément  d'un  ensemble  n'appartient  pas  à  un  autre  ensemble