Beruflich Dokumente
Kultur Dokumente
PLAN
1. 2. 3. 4. Dfinition Requtes simples SQL Requtes sur plusieurs tables Mises--jour
1.Dfinition
SQL (Structured Query Language) Invent IBM San Jose, 1974 (Boyce & Chamberlin) pour les systmes relationnels Bas sur le calcul de tuples & Algbre Relationnelle SQL est normalis SQL 2: adopt (SQL 92) SQL 3: adopt (SQL 99) Standard d'accs aux bases de donnes relationnelles Langage de dfinition de donnes (LDD) et de manipulation de donnes (LMD) des bases de donnes relationnelles Langage de dfinition de donnes qui permet de crer, modifier, supprimer les lments du schma relationnel Langage de manipulation de donnes permet l'interrogation, l'ajout, la modification, la suppression de donnes
SELECT
SELECT nomStation FROM Station WHERE region = Antilles
SELECT : la liste des attributs constituant le rsultat. FROM : la (ou les) tables dans lesquelles on trouve les attributs utiles la requte. WHERE : les conditions que doivent satisfaire les nuplets de la base pour faire partie du rsultat.
SELECT
SELECT lmentaire SELECT liste_colonnes FROM liste_tables Les expressions arithmtiques Les alias DISTINCT
Exemple:
SELECT libelle, prix / 6.56, Cours de leuro = , 6.56 FROM Activite WHERE nomStation = Santalba Rsultat :
SELECT
SELECT lmentaire SELECT liste_colonnes FROM liste_tables Les expressions arithmtiques Les alias DISTINCT Exemple:
SELECT A.libelle, A.prix / 6.56 AS prixEnEuros,Cours de leuro = , 6.56 AS cours FROM Activite A WHERE nomStation = Santalba Rsultat :
SELECT
SELECT lmentaire SELECT liste_colonnes FROM liste_tables Les expressions arithmtiques Les alias DISTINCT Exemple: SELECT libelle FROM Activite Rsultat : SELECT DISTINCT libelle FROM Activite
SELECT
Limiter les donnes SELECT liste_colonnes FROM liste_tables [WHERE condition(s)] La clause WHERE limite l'interrogation aux lignes qui remplissent les conditions mentionnes. Les oprateurs : = , > , >= , < , <= , <> La condition BETWEEN SELECT nom, salaire FROM employs WHERE salaire BETWEEN 2500 AND 3500; Permet d'afficher les lignes en fonction d'une plage de valeurs La condition IN SELECT nom FROM employs WHERE ville IN ('TOULOUSE', PARIS'); Vrifie l'appartenance d'une donne une liste de valeurs
SELECT
La condition LIKE
Recherche les chanes de caractres valides l'aide de caractres gnriques % reprsente n'importe quelle squence de 0 ou plusieurs caractres SELECT nom FROM employs WHERE ville LIKE 'T% La vrification de la valeur NULL est effectue par les oprateurs IS NULL et IS NOT NULL Recherche des valeurs non attribues SELECT nom FROM employs WHERE ville IS NULL;
La clause ORDER BY permet de trier les lignes SELECT nom FROM employs WHERE salaire >= 1000 ORDER BY salaire DESC
Le tri
Les fonctions monolignes Ces fonctions renvoient un rsultat par ligne, elles permettent de manipuler des lments de donnes. Elles acceptent des paramtres et renvoient une seule valeur Elles peuvent tre imbriques On distinguent des :
Fonctions alphanumriques LPAD(exp, n, 'chaine') : Ajoute des caractres gauche RPAD(exp, n, 'chaine') : Ajoute des caractres droite TRIM(exp) : Retire les espaces avant et aprs REPLACE(exp, 'ch1', 'ch2') : Remplace ch1 par ch2 Fonctions numriques ROUND(exp, n) : Arrondit la dcimale spcifie TRUNCATE(exp, n) : Tronque la dcimale spcifie MOD(exp1, exp2) : Renvoie le reste de la division de exp1 par exp2 Fonction de dates CURDATE() : Renvoie la date systme au format 'yyyy-mm-dd CURTIME() : Renvoie l'heure systme au format 'hh:mm:ss DATE_FORMAT(date, format) : Renvoie la date selon le format indiqu YEAR(date) Fonction de conversions
14
SELECT
Les fonctions multi-lignes L'objectif est de donner des informations statistiques sur un ensemble de lignes AVG(exp) : moyenne des valeurs de l'expression COUNT(exp) : nombre de valeurs non nulles MAX(expr) : Valeur maximale MIN(expr) : Valeur minimale SUM(expr) : Somme des valeurs de l'expression SELECT COUNT(nomStation), AVG(tarif), MIN(tarif), MAX(tarif) FROM Station Cration de groupes Les groupes sont crs par la clause GROUP BY SELECT idService, count(nomEmp) FROM Employes GROUP BY idService Exclure des groupes La clause HAVING limite les groupes de la mme manire que les lignes pour WHERE SELECT idService, sum(salaire) FROM Employes GROUP BY idService HAVING sum(salaire) > 1000;
SELECT
SOUS INTERROGATION
Instruction SELECT imbrique dans une clause d'une autre instruction SELECT Elle s'excute en premier et son rsultat est utilis par la requte principale
SELECT liste_colonnes FROM liste_tables WHERE expr IN (SELECT ....)
Exemple:
Dans quelle station pratique-t-on une activit au mme prix qu Santalba ? SELECT nomStation, libelle FROM Activite 18 WHERE prix IN (SELECT prix FROM Activite WHERE nomStation = Santalba)
Exemples
O (station, lieu) ne peut-on pas faire du ski ? SELECT nomStation, lieu FROM Station WHERE nomStation NOT IN (SELECT nomStation FROM Activite WHERE libelle = Ski) Quelle station pratique le tarif le plus lev ? SELECT nomStation FROM Station WHERE tarif >= ALL (SELECT tarif FROM Station) Quels sont les clients (nom, prnom) qui ont sjourn Santalba? SELECT nom, prenom FROM Client WHERE EXISTS (SELECT * FROM Sejour WHERE station = Santalba AND idClient = id)
Oprateurs logiques: Oprateurs AND, OR et NOT Oprateur AND : Les deux conditions unies par un ET logique doivent tre remplies pour que le nuplet soit slectionn. Oprateur OR : Lune des deux conditions unies par un OU logique doit tre remplie pour que le nuplet soit slectionn. Oprateur NOT : Cet oprateur inverse le rsultat de la slection. Ordre dvaluation des oprateurs logiques : Comparaisons Oprateur NOT Oprateur AND Oprateur OR
Division
3.Mises--jour
27