« Programmation SQL/Langage de manipulation de données » : différence entre les versions
Contenu supprimé Contenu ajouté
m →Alias : concordance des temps |
m Mise en page |
||
Ligne 1 :
{{Programmation SQL}}
''Pour tester les exemples et suivre correctement ce tutorial, nous vous conseillons de lire
▲Pour tester les exemples et suivre correctement ce tutorial, nous vous conseillons de lire l'instruction suivante.
== Instruction SELECT ==
Ligne 31 ⟶ 27 :
=== SELECT ===
La clause SELECT permet de spécifier les informations qu'on veut
Le nom des champs ne doit pas être équivoque, ce qui veut dire que si des champs de tables différentes ont le même nom, les champs doivent être préfixés par le nom de la table : <tt>nom_de_table.nom_de_champs</tt><br />
Les noms des champs sont séparés par des virgules. Si la requête comporte la clause DISTINCT, les doublons (lignes de la table de
SELECT * permet de renvoyer tous les champs de toutes les tables spécifiées dans FROM.
Ligne 49 ⟶ 45 :
=== FROM ===
Clause obligatoire qui détermine sur quelles tables l'on fait la requête. Les
''Exemple :''
Ligne 129 ⟶ 125 :
|}
Vous pouvez adapter le résultat à
''Exemple : ''
Ligne 327 ⟶ 323 :
AND nom Like "J%" ;</source>
<br/>
Sélectionner les élèves qui ont 7 ans ou dont le nom commence par J (y compris ceux qui ont 7 ans
''Exemple : ''
Ligne 423 ⟶ 419 :
Sélectionne des mots qui
''Critère'' : "B_[l-r]%"<br/>
Ligne 573 ⟶ 569 :
===== Auto jointures =====
=== ORDER BY ===▼
Cette clause permet d'ordonner les résultats d'une requête. On peut les ordonner de deux manières : ascendante (ou dans l'ordre croissant) avec le mot clé ASC ou descendant (décroissant) avec le mot clé DESC.▼
Reprenons notre modèle logique :▼
'''élèves'''( <u>'''id_élève'''</u>, nom_élève, prénom_élève, adresse_éléve, cp_élève, ville_élève,''' # id_classe''' )▼
Si l'on désire afficher les élèves par ordre alphabétique croissant sur le nom, on fait :▼
<source lang="sql">SELECT *▼
FROM élèves▼
ORDER BY nom_élève ASC;</source>▼
<source lang="sql">SELECT *▼
FROM élèves▼
ORDER BY nom_élève</source>▼
La plupart des SGBD trient par défaut de manière croissante.<br />▼
Nous pouvons préciser le tri. Par exemple nous voulons trier sur le nom, puis le prénom puis l'adresse de manière décroissante.<br />▼
<source lang="sql">SELECT *▼
FROM élèves▼
ORDER BY (nom_élève, prénom_élève, adresse_élève) DESC;</source>▼
=== GROUP BY ===
Ligne 609 ⟶ 633 :
* La présence de la clause GROUP BY est nécessaire dès que la requête comporte simultanément dans la clause de sélection (SELECT) le filtre (WHERE), des jointures, des colonnes de tables hors calcul et des calculs d'agrégation.
* Dans ce cas,
=== HAVING ===
Ligne 635 ⟶ 659 :
HAVING Count(*) BETWEEN 15 AND 30
ORDER BY nom ASC</source>
▲=== ORDER BY ===
▲Cette clause permet d'ordonner les résultats d'une requête. On peut les ordonner de deux manières : ascendante (ou dans l'ordre croissant) avec le mot clé ASC ou descendant (décroissant) avec le mot clé DESC.
▲Reprenons notre modèle logique :
▲'''élèves'''( <u>'''id_élève'''</u>, nom_élève, prénom_élève, adresse_éléve, cp_élève, ville_élève,''' # id_classe''' )
▲Si l'on désire afficher les élèves par ordre alphabétique croissant sur le nom, on fait :
▲<source lang="sql">SELECT *
▲FROM élèves
▲ORDER BY nom_élève ASC;</source>
▲La requête ci dessous est équivalente :
▲<source lang="sql">SELECT *
▲FROM élèves
▲ORDER BY nom_élève</source>
▲La plupart des SGBD trient par défaut de manière croissante.<br />
▲Nous pouvons préciser le tri. Par exemple nous voulons trier sur le nom, puis le prénom puis l'adresse de manière décroissante.<br />
▲<source lang="sql">SELECT *
▲FROM élèves
▲ORDER BY (nom_élève, prénom_élève, adresse_élève) DESC;</source>
== Instruction INSERT ==
Ligne 688 ⟶ 684 :
VALUES ('1','brindzingue','toto','trifoullie les oyes','66000','un coin perdu','12');
Pour n'ajouter que quelques données (données obligatoires par exemple, c'est
En imaginant que les données adresse_éléve, cp_élève et ville_élève soient optionnelles dans la base de données :
Ligne 752 ⟶ 748 :
| align="center" | toto
| align="center" | trifoullie les oyes
| align="center" | 66000
| align="center" | un coin perdu
| align="center" | 12
|}
== Instruction DELETE ==
Ligne 796 ⟶ 792 :
La table est désormais vide.
[[Catégorie:Programmation SQL (livre)]]
|