DissertationsEnLigne.com - Dissertations gratuites, mémoires, discours et notes de recherche
Recherche

Tout Sur Sql

Dissertations Gratuits : Tout Sur Sql. Rechercher de 53 000+ Dissertation Gratuites et Mémoires
Page 1 sur 29

les données à partir d’existantes...

Voici la syntaxe générale d'une commande SELECT :

-------------------------------------------------

SELECT [DISTINCT ou ALL] * ou liste de colonnes

-------------------------------------------------

FROM nom de table ou de la vue

-------------------------------------------------

[WHERE prédicats]

-------------------------------------------------

[GROUP BY ordre des groupes]

-------------------------------------------------

[HAVING condition]

-------------------------------------------------

[ORDER BY ] liste de colonnes

NOTA : dans cette syntaxe, les mots clef du SQL sont en gras, les paramètres en minuscule et entre crochets on trouve les parties optionnelles

En fait l'ordre SQL SELECT est composé de 6 clauses dont 4 sont optionnelles.

Clauses de l'ordre SELECT :

SELECT | Spécification des colonnes du résultat |

FROM | Spécification des tables sur lesquelles porte l'ordre |

WHERE | Filtre portant sur les données (conditions à remplir pour que les lignes soient présentes dans le résultat) |

GROUP BY | Définition d'un groupe (sous ensemble) |

HAVING | Filtre portant sur les résultats (conditions de regroupement des lignes) |

ORDER BY | Tri des données du résultat |

NOTA : La plupart du temps, la difficulté réside dans la compréhension de la différence entre le filtre WHERE et le filtre HAVING. Disons plus pragmatiquement que le filtre WHERE permet de filtrer les données des tables tandis que le filtre HAVING permet de filtrer les données du résultat...

REMARQUE : pour spécifier une valeur littérale il faut l'entourer de guillemets simples.

Un premier exemple basique :

Exemple 1

-------------------------------------------------

SELECT CLI_NOM, CLI_PRENOM-------------------------------------------------

FROM T_CLIENT-------------------------------------------------

WHERE TIT_CODE = 'M.' | -------------------------------------------------

CLI_NOM CLI_PRENOM-------------------------------------------------

------- -----------------------------------------------------------

DUPONT Alain-------------------------------------------------

MARTIN Marc-------------------------------------------------

BOUVIER Alain-------------------------------------------------

DUBOIS Paul-------------------------------------------------

DREYFUS Jean-------------------------------------------------

FAURE Alain-------------------------------------------------

PAUL Marcel-------------------------------------------------

DUVAL Arsène-------------------------------------------------

PHILIPPE André-------------------------------------------------

CHABAUD Daniel-------------------------------------------------

BAILLY Jean-François-------------------------------------------------

... |

Permet de trouver les noms et prénoms des clients dont le titre est ‘M.’ (monsieur).

NOTA : comme tous les paramètres à prendre sous forme de littéraux doivent être exprimés entourés d'apostrophes (simple côtes), il faut dédoubler un tel caractère s'il s'avère présent dans la chaîne utilisé.

1.1. L'opérateur * (étoile)

Le caractère * (étoile) récupère toutes les colonnes de la table précisée dans la clause FROM de la requête.

Juste après le mot clef SELECT, on précise les colonnes de la table qui doivent être présentées dans la réponse.

L’utilisation du caractère étoile ramène toutes les colonnes de la table dans la réponse. Dans le cas contraire il faut expressément nommer chacune des colonnes et les séparer par des virgules.

Exemple 2

-------------------------------------------------

SELECT *-------------------------------------------------

FROM T_CLIENT-------------------------------------------------

WHERE TIT_CODE = 'M.' | -------------------------------------------------

CLI_ID TIT_CODE CLI_NOM CLI_PRENOM CLI_ENSEIGNE-------------------------------------------------

------- -------- -------- ---------- -------------------------------------------------------------

1 M. DUPONT Alain NULL-------------------------------------------------

2 M. MARTIN Marc Transports MARTIN & fils-------------------------------------------------

3 M. BOUVIER Alain NULL-------------------------------------------------

4 M. DUBOIS Paul NULL-------------------------------------------------

5 M. DREYFUS Jean NULL-------------------------------------------------

6 M. FAURE Alain Boulangerie du marché-------------------------------------------------

11 M. PAUL Marcel Cie Internationale des Mach...-------------------------------------------------

12 M. DUVAL Arsène NULL-------------------------------------------------

13 M. PHILIPPE André NULL-------------------------------------------------

16 M. CHABAUD Daniel NULL-------------------------------------------------

... |

Notons tout de suite la présence à plusieurs reprises du mot clef "NULL" dans la cologne CLI_ENSEIGNE. Non il ne s'agit pas d'une enseigne particulière, mais simplement de l'absence d'information. Nous verrons que l'absence d'information, c'est le marquer "NULL" qui différe de la chaîne de caractère vierge ("") ou encore du zéro.

1.2. L'opérateur DISTINCT (ou ALL)

Lorsque le moteur construit la réponse, il rapatrie toutes les lignes correspondantes, généralement dans l’ordre ou il les trouve, même si ces dernières sont en double, c'est à dire qu'il récupère toutes les lignes (ALL par défaut). C’est pourquoi il est souvent nécessaire d’utiliser le mot clef DISTINCT qui permet d‘éliminer les doublons dans la réponse.

Exemples 3 et 4

-------------------------------------------------

SELECT CLI_PRENOM-------------------------------------------------

FROM T_CLIENT-------------------------------------------------

WHERE TIT_CODE = 'M.' | -------------------------------------------------

CLI_PRENOM-------------------------------------------------

-----------------------------------------------------------

Alain-------------------------------------------------

...

Télécharger au format  txt (63.8 Kb)   pdf (364.1 Kb)   docx (27.6 Kb)  
Voir 28 pages de plus »
Uniquement disponible sur DissertationsEnLigne.com