Outils pour utilisateurs

Outils du site


tic:sql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tic:sql [2016/06/17 13:30] blooptic:sql [2023/03/29 09:43] (Version actuelle) – [Exemples de requêtes SQL] bloop
Ligne 28: Ligne 28:
 WHERE => filtre sur les données des tables WHERE => filtre sur les données des tables
 HAVING => filtre sur les résultats des calculs de la requête. HAVING => filtre sur les résultats des calculs de la requête.
-  * WHERE est une clause de restriction qui s’applique sur tous type de commande SELECT, UPDATE... :<code>/* Liste des personnes de prénom "Pierre" dans ma table */+  * WHERE est une clause de restriction qui s’applique sur tous type de commande SELECT, UPDATE... :<code>/* Liste des personnes de prénom "Pierre" dans ma table */
 SELECT NOM, PRENOM SELECT NOM, PRENOM
 FROM PERSONNE FROM PERSONNE
 WHERE PRENOM = "Pierre"</code> WHERE PRENOM = "Pierre"</code>
 +  * HAVING est plutôt utilisé lorsque l’on a une clause GROUP BY sur des fonctions d’aggrégation (MAX, SUM, ...) :<code>/* Liste des prénoms dont le nombre d’occurrences dans ma table > 10 */
 +SELECT PRENOM, COUNT(*) AS NOMBRE
 +FROM PERSONNE
 +GROUP BY PRENOM
 +HAVING COUNT(*) > 10</code>
 +  * Combiner les 2 clauses permet de donner une restriction sur le SELECT suivi d’une autre restriction sur le regroupement :<code>/* Liste des prénoms dont le nombre d’occurrences dans ma table > 3 */
 +/* pour les personnes dont le nom commence par A */
 +SELECT PRENOM, COUNT(*) AS NOMBRE
 +FROM PERSONNE
 +WHERE NOM LIKE ’A%’  --Restriction sur le SELECT
 +GROUP BY PRENOM
 +HAVING COUNT(*) > 3  --Restriction sur le regroupement</code>
 +  * Si l’on a pas de clause GROUP BY, WHERE et HAVING ont le même comportement, donc dans ces conditions, préférer la clause WHERE plus généralement utilisée.
  
 +  * Pour bien comprendre :\\ http://sqlpro.developpez.com/cours/sqlaz/ensembles/#L2
  
 +==== Format de date SQL ====
 +  TO_DATE('2016/02/12 00:00:00', 'yyyy/mm/dd hh24:mi:ss')
  
 +  TO_DATE('01/01/2017', 'dd/mm/yyyy')
  
 +==== Exemples de requêtes SQL ====
 +=== Mettre à jour un champ avec la valeur NULL ===
 +<code>update table set champ = NULL</code>
  
 +=== Mettre à jour un champ DATE à la date du jour ===
 +  UPDATE <table> SET <champ> = TO_DATE(sysdate)
 +ou
 +  UPDATE <table> SET <champ> = TO_DATE(current_date)
 +
 +=== Trier une liste de nombres de type VARCHAR ===
  
-==== Exemples de requêtes SQL ==== 
-Trier une liste de nombres de type VARCHAR :\\ 
 //(testé sur SQL server)// //(testé sur SQL server)//
 <code>SELECT liste_nombre FROM table ORDER BY liste_nombre + 0</code> <code>SELECT liste_nombre FROM table ORDER BY liste_nombre + 0</code>
tic/sql.1466163054.txt.gz · Dernière modification : 2016/06/17 13:30 de bloop