Le langage sql
Sommaire
5.1 Requêtes simples SQL 5.1.1 Sélections simples 5.1.2 La clause WHERE 5.1.3 Valeurs nulles 5.2 Requêtes sur plusieurs tables 5.2.1 Jointures 5.2.2 Union, intersection et différence 5.3 Requêtes imbriquées 5.3.1 Conditions portant sur des relations 5.3.2 Sous-requêtes corrélées 5.4 Agrégation 5.4.1 Fonctions d’agrégation 5.4.2 La clause GROUP BY 5.4.3 La clause HAVING 5.5 Mises-à-jour 5.5.1 Insertion 5.5.2 Destruction 5.5.3 Modification
Ce chapitre présente le langage SQL d’interrogation et de manipulation de données (insertion, mise à- jour, destruction). La syntaxe est celle de la norme SQL2, implantée plus ou moins complètement dans la plupart des principaux SGBDR. SQL est un langage déclaratif qui permet d’interroger une base de données sans se soucier de la représentation interne (physique) des données, de leur localisation, des chemins d’accès ou des algorithmes nécessaires. A ce titre il s’adresse à une large communauté d’utilisateurs potentiels (pas seulement des informaticiens) et constitue un des atouts les plus spectaculaires (et le plus connu) des SGBDR. On peut l’utiliser de manière interactive, mais également en association avec des interfaces graphiques, ou, très généralement, des langages de programmation.
5.1 Requêtes simples SQL :
Dans tout ce chapitre on va prendre l’exemple de la (petite) base de données présentée dans le chapitre sur l’algèbre.
5.1.1 Sélections simples
Commençons par les requêtes les plus simples : la figure 5.1 montre une instance de la base pour les relations Station et Activite. Première requête : on souhaite extraire de la base le nom de toutes les stations se trouvant aux Antilles. SELECT nomStation FROM Station WHERE region = ’Antilles’ Ce premier exemple montre la structure de base d’une requête SQL, avec les trois clauses SELECT, FROM et WHERE. - FROM indique la (ou les) tables dans lesquelles on trouve les attributs utiles à la requête. Un attribut peut être