1- Compléments SELECT 2ème partie : Traitements des résultats Le langage SQL 2- Les clauses de présentation 3- Recap clauses 4- Les fonctions.

Slides:



Advertisements
Présentations similaires
LMD: Langage de Manipulation de Données
Advertisements

Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
1 Les bases de données Séance 7 Les fonctions avancées : Opérateurs ensemblistes, Sous-requêtes et transactions.
Master sciences et techniques de géomatique environnementale
Les fonctions et les regroupements B.T.S. S.I.O – SI3 – 1.
Nouveau programme de 3ème Probabilités Document de travail – Académie de Rouen
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
La question sur corpus.
Utilisation du logiciel EduStat © Distribution de fréquences simples Les compilations.
Interface sur laquelle on arrive lorsqu’on atteint le site Tous les champs ci- dessous sont supprimés Liste des clients disponibles Liste des serveurs.
Concepts pour le contrôle de flux
UE2 - M22 Licence acoustique
Conseil Nous vous invitons à lire très attentivement l’Exanews étudiants - affiché aux valves du rez de chaussée - disponible sur l’Officiel Afin de disposer.
La conditionnelle Formule
Intégration du P7 dans l’épreuve E41
Langage de manipulation de données (LMD)
Table passage en caisse
Les Bases de données Définition Architecture d’un SGBD
Structured Query Language
Algorithmique demander jeu du pendu.
Ajouter le code dans une page html
Initiation aux bases de données et à la programmation événementielle
Généralité sur les bases de données
Corrigé du TP SQL 2 Énoncé -Rappel Requête 1 :
Principes de programmation (suite)
Activités algorithmiques
Tableaux à plusieurs dimensions en langage C
Fonctions logiques et algèbre booléenne
Collecte de données CAPI
Technologies d’intelligence d’affaires
Cyber-Sphinx Séance 2.
Excel (et toute l’informatique) :
Langage d’interrogation des Données LID
SQL LID – INTERROGATIN DES DONNEES
Semaine #4 INF130 par Frédérick Henri.
Création d’un formulaire
Alma - Analytics Formation avancée
Information, Communication, Calcul
Cyber-Sphinx Séance 2.
Notion De Gestion De Bases De Données
Création Et Modification De La Structure De La Base De Données
Manipulation D’Une Base De Données
PROGRAMMATION ET ENSEIGNEMENT
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
4 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données agrégées à l'aide des fonctions de groupe.
Préface Introduction Objectifs du chapitre I-2 Objectifs du cours I-3 Oracle10g I-4 Oracle Database 10g I-6 Oracle Application Server 10g I-7 Oracle Enterprise.
Langage d’interrogation des Données Les fonctions de groupes
Gilles BADUFLE À partir d’un PPT modifié du C.A.H.M.
Base de données relationnelle et requêtes SQL
Suivi de waypoints par un robot buggy autonome
SIO SI3 : Exploitation des données
Chapitre 2 Le Projet Poterie
NUMERATION et REPRESENTATION DES NOMBRES
Semaine 3 Retour sur la semaine 2 Plan de séance
03- Evaluation Access 2003 Cette évaluation comporte des QCM (1 seule réponse) et des Zones à déterminer dans des copies d’écran.
Chapitre 4: Les graphiques
Chapitre 3: Les scriptes
Ordre de grandeur Série n°1
Programmation Scratch
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
PROGRAMMATION ET ENSEIGNEMENT
Tableaux croisés dynamiques sous Excel: des outils simples pour une analyse rapide de jeux de données en cytométrie Camille SANTA MARIA Ingénieur d’étude.
SQL Structured Query Language
Exploitation de vos données
Systèmes d’Information et Application
STS Web Services libres Gérer les services libres
Python Nicolas THIBAULT
Modèles de requêtes SQL
Transcription de la présentation:

1- Compléments SELECT 2ème partie : Traitements des résultats Le langage SQL 2- Les clauses de présentation 3- Recap clauses 4- Les fonctions

1- Compléments SELECT Le langage SQL

4- Requêtes TP SQL 1 bis Effectuer les requêtes suivantes : 5- Liste des noms des animaux et leur espèce qui mangent du poisson. 6- Liste des noms des animaux et leur espèce qui mangent du poisson et à quelle heure. 7- Liste énumérative des n° d'enclos, des type d'enclos, leur espace et le nom de l'espèce les occupant.

Le langage SQL 1- Compléments SELECT Soumettre les requêtes suivantes : Ex 1 : SELECT 'bonjour'; Ex 2 : SELECT 8 * 300; Ex 3 : SELECT bonjour;

Le langage SQL Remarque : La clause SELECT déclenche simplement un affichage. On peut l'utiliser juste pour afficher un résultat passé en paramètre : Ex 1 : SELECT 'bonjour'; Ex 2 : SELECT 8 * 300; Dès lors qu'on demande l'affichage de colonnes (champs), la clause FROM devient obligatoire. Ex 3 : SELECT bonjour; --> retourne une erreur : absence de quotes => recherche d'un champ, pas de table (clause FROM) => erreur. 1- Compléments SELECT

2- Les clauses de présentation Le langage SQL

Clause ORDER BY Permet d'afficher les résultats dans l'ordre alphabétique, numérique, alphanumérique ou temporel voulu. Le tri peut se faire sur plusieurs colonnes Le tri peut être asendant (ASC par défaut) ou descendant (DESC) 2- Les clauses de présentation

Le langage SQL Exemple : Taper la commande : 1- SELECT nom, espece, date_naissance FROM animal ORDER BY nom, espece; 2- Les clauses de présentation

Le langage SQL Exemple : Taper la commande : 1- SELECT nom, espece, date_naissance FROM animal ORDER BY nom, espece; 2- SELECT nom, espece, date_naissance FROM animal ORDER BY espece, nom; 2- Les clauses de présentation

Le langage SQL Exemple : Taper la commande : 1- SELECT nom, espece, date_naissance FROM animal ORDER BY nom, espece; 2- SELECT nom, espece, date_naissance FROM animal ORDER BY espece, nom; 3- SELECT nom, espece, date_naissance FROM animal ORDER BY date_naissance DESC; 2- Les clauses de présentation

Le langage SQL Exemple : Taper la commande : 1- SELECT nom, espece, date_naissance FROM animal ORDER BY nom, espece; 2- SELECT nom, espece, date_naissance FROM animal ORDER BY espece, nom; 3- SELECT nom, espece, date_naissance FROM animal ORDER BY date_naissance DESC; 4- SELECT nom, espece, date_naissance FROM animal ORDER BY date_arrivee; 2- Les clauses de présentation

Le langage SQL Opérations dans la clause SELECT Il est possible d'appliquer une « opération » (fonction) sur les champs dans la clause SELECT. Exemple : 1- SELECT count(id) FROM animal; 2- SELECT espece, count(id) FROM animal; Commentaire ? 2- Les clauses de présentation

Le langage SQL Clause GROUP BY Lorsqu'on applique des fonctions sur des champs de la clause SELECT, ET Que l'on souhaite des sous-totaux => la clause GROUP BY devient nécessaire. 2- Les clauses de présentation

Le langage SQL Exemple : Comme nous l'avons constaté : 2- SELECT espece, count(*) FROM animal; Génère une erreur (MySQL, d'autres SGBD acceptent). Correction : 2- SELECT espece, count(*) FROM animal GROUP BY espece; Clause GROUP BY 2- Les clauses de présentation

Le langage SQL Clause GROUP BY 2- Les clauses de présentation Nous souhaitons maintenant connaître les espèces dont le nombre d'individus est supérieur à 1. Essayons : SELECT espece, count(*) FROM animal WHERE count(espece) > 1 GROUP BY espece;

Le langage SQL Clause GROUP BY 2- Les clauses de présentation Erreur ! Les opérateurs statistiques tels que COUNT, SUM, MAX, MIN, AVG, etc... ne peuvent pas figurer dans la clause WHERE. La clause WHERE n'agit qu'individuellement sur les enregistrements : « celui-ci répond à la condition, je le garde. Celui-ci non, je le jette »

Le langage SQL Clause HAVING 2- Les clauses de présentation D'où l'introduction de la clause HAVING qui agit elle sur le résultat. Pour notre exemple : SELECT espece, count(*) FROM animal GROUP BY espece HAVING count(*) > 1; Remaque : count s'applique au nombre d'enregistrements, il est inutile d'indiquer un nom de champ en particulier (d'où *). Remaque : la syntaxe de la clause HAVING est similaire à celle de la clause WHERE (test logique). Mais attention aux opérateurs.

Le langage SQL Renommage des colonnes 2- Les clauses de présentation À l'instar des renommages des tables, il est possible de renommer les colonnes Si pour les tables, le but est de faciliter l'organisation de la requête, pour les colonnes, le but est de faciliter la lisibilité : simple but d'affichage.

Le langage SQL Renommage des colonnes 2- Les clauses de présentation Pour notre exemple : SELECT espece, count(*) "nombre d'individu" FROM animal GROUP BY espece HAVING count(*) > 1; OU SELECT espece, count(*) AS "nombre d'individu" FROM animal GROUP BY espece HAVING count(*) > 1; Remarque : les guillemets sont nécessaire, contrairement au renommage des tables.

Le langage SQL TP 2 Effectuer les requêtes suivantes : 1- Nombre des animaux arrivés ou nés au zoo après 2005, classés par date d'arrivée de la plus récente à la plus ancienne. 2- Quantité de nourriture à préparer pour les repas prévus entre 13h00 et 17h45 (2 solutions). 3- Liste des n° d'enclos, les espèces, le nombre d'individus par espèce et par enclos. Classer par enclos. 2- Les clauses de présentation

3- Récap clauses SQL Le langage SQL

3- Récap Clauses SQL Afficher le contenu de cette (ces) colonne(s) Dans la (les) table(s) Où ce(s) test(s) logique(s) sont vérifiés Grouper les résultats selon cette (ces) colonne(s) et répondant à cette condition Les classer selon cette ces colonne(s) Clause FROM Clause WHERE Clause GROUP BY Clause ORDER BY 6 CLAUSES Clause SELECT Clause HAVING (clause GROUP BY préalable) Dont 4 optionnelles Dont 3 relatives à la présentation des résultats

Le langage SQL NB : L'ordre des clauses ne peut être changé. Il est impossible de mettre la clause FROM après la clause WHERE, ou la clause ORDER BY avant la clause GROUP BY, etc Récap Clauses SQL

4- Les fonctions Le langage SQL

4- Les fonctions Vous avez déjà manipulé certaines fonctions sans lesquelles la clause GROUP BY ne pouvait être abordée : COUNT, SUM, etc... Ces fonctions avaient la particularité de ne s'appliquer qu'aux résultats. Nous allons voir quelques fonctions parmi les plus courantes et les plus utiles.

Le langage SQL 4- Les fonctions Soumettre les requêtes suivantes : Ex 1 : SELECT quantite, ceil(quantite), floor(quantite), round(quantite) FROM repas; Ex 2 : SELECT DISTINCT nom FROM animal A, repas R WHERE A.id = R.id_animal AND SQRT(A.id) > quantite; Ex 3 : SELECT espece, count(*) FROM animal GROUP BY espece HAVING MOD(COUNT(*), 2) = 1;

Le langage SQL 4- Les fonctions Soumettre les requêtes suivantes : Ex 1 : SELECT quantite, ceil(quantite), floor(quantite), round(quantite) FROM repas; Ex 2 : SELECT nom FROM animal A, repas R WHERE A.id = R.id_animal AND SQRT(A.id) > quantite; Ex 3 : SELECT espece, count(*) FROM animal GROUP BY espece HAVING MOD(COUNT(*), 2) = 1; Fonctions d'arrondi (ceil : supérieur, floor : inférieur, round : valeur proche Fonction SQRT : racine carrée. Aucun intérêt dans ce cas précis, mais cependant, comment éliminer les doublons ? Fonction MOD (modulo) : reste division euclidienne. Ici, ne retient que les résultats impairs (reste de la division count(*) par 2).

Le langage SQL 4- Les fonctions Soumettre les requêtes suivantes : Ex 1 : SELECT quantite, ceil(quantite), floor(quantite), round(quantite) FROM repas; Ex 2 : SELECT DISTINCT nom FROM animal A, repas R WHERE A.id = R.id_animal AND SQRT(A.id) > quantite; Ex 3 : SELECT espece, count(*) FROM animal GROUP BY espece HAVING MOD(COUNT(*), 2) = 1; Fonctions d'arrondi (ceil : supérieur, floor : inférieur, round : valeur proche Fonction SQRT : racine carrée. Aucun intérêt dans ce cas précis, mais cependant, comment éliminer les doublons ? Fonction MOD (modulo) : reste division euclidienne. Ici, ne retient que les résultats impairs (reste de la division count(*) par 2). Solution : DISTINCT

Le langage SQL 4- Les fonctions La syntaxe est commune à toutes les fonctions: NOM_FONCTION( argument 1, argument 2, argument n) Le nombre d'arguments varie d'une fonction à l'autre.

Le langage SQL 4- Les fonctions Exemples : La fonction de date NOW() n'admet aucun argument. La fonction de comparaison IN(val1, val2,...., val n) nécessite au moins 1 argument. La fonction modulo MOD(dividende, diviseur) nécessite 2 arguments.

Le langage SQL 4- Les fonctions Quelques fonctions de chaîne : Ex 1 : SELECT CONCAT(nom,", ",espece) "Nom et espèce" FROM animal; Ex 2 : SELECT id, nom, SUBSTRING(nom, 1, 4) FROM animal WHERE nom LIKE '%a%'; ou SELECT id, nom, LEFT(nom, 2) FROM animal WHERE RIGHT(nom,1) = 'a'; Ex 3 : SELECT ordre, UPPER(ordre), LOWER(ordre) FROM espece;

Le langage SQL 4- Les fonctions Quelques fonctions de chaîne : Ex 1 : SELECT CONCAT(nom,", ",espece) "Nom et espèce" FROM animal; Ex 2 : SELECT id, nom, SUBSTRING(nom, 1, 4) FROM animal WHERE nom LIKE '%a%'; ou SELECT id, nom, LEFT(nom, 2) FROM animal WHERE RIGHT(nom,1) = 'a'; Ex 3 : SELECT ordre, UPPER(ordre), LOWER(ordre) FROM espece; Concaténation (syntaxe MySQL) Extractions de sous-chaîne Changer la casse (min, maj)

Le langage SQL 4- Les fonctions Quelques fonctions de dates : Ex 1 : SELECT nom FROM animal WHERE YEAR(date_arrivee) < 2005 AND YEAR(date_naissance) < 2005; Ex 2 : SELECT nom, espece, date_arrivee FROM animal WHERE YEAR(date_arrivee) = 2005 AND MONTH(date_arrivee) BETWEEN 3 AND 11; Ex 3 : SELECT YEAR(date_arrivee), count(*) FROM animal GROUP BY date_arrivee;

Le langage SQL 4- Les fonctions Quelques fonctions de dates : Ex 1 : SELECT nom FROM animal WHERE YEAR(date_arrivee) < 2005 OR YEAR(date_naissance) < 2005; Ex 2 : SELECT nom, espece, date_arrivee FROM animal WHERE YEAR(date_arrivee) = 2005 AND MONTH(date_arrivee) BETWEEN 3 AND 11; Ex 3 : SELECT YEAR(date_arrivee), count(*) FROM animal GROUP BY date_arrivee; Nous ne trouvons pas le nombre d'animaux arrivés chaque année. Comment y remédier ? Remplacer OR par AND. Laquelle est correcte ?

Le langage SQL 4- Les fonctions Quelques fonctions de dates : Ex 1 : SELECT nom FROM animal WHERE YEAR(date_arrivee) < 2005 AND YEAR(date_naissance) < 2005; Ex 3 : SELECT YEAR(date_arrivee), count(*) FROM animal GROUP BY YEAR(date_arrivee);

Le langage SQL 4- Les fonctions Le format de stockage des dates en SQL est intéressant pour le tri mais pas pour l'affichage. La fonction DATE_FORMAT permet à peu près toute sorte d'affichage (l'année, le jour, le mois, le jour de la semaine, jour et mois littéraux, abrégés, l'heure..... Formatage des dates

Le langage SQL 4- Les fonctions Syntaxe : DATE_FORMAT(champ_date, format) Formatage des dates Exemples : SELECT DATE_FORMAT(date_arrivee, '%d/%m,%Y') FROM animal;

Le langage SQL 4- Les fonctions Formatage des dates ATTENTION : NE PAS CONFONDRE LE FORMATAGE DE DATE (DATE_FORMAT) ET LES FONCTIONS DE DATE (YEAR, MONTH, NOW,...)

Le langage SQL 4- Les fonctions Formatage des dates Exemples : SELECT DATE_FORMAT(date_arrivee, '%d/%m,%Y') FROM animal; Format : L'opérateur '%' précède chaque variable (année, mois, jour...) selon la codification fournie.codification fournie Les autres caractères s'affichent systématiquement L'ensemble doit être entre quotes ( ' ). Apparence déjà plus familière. Chez les anglo-saxons, on inversera le jour et le mois (%m/%d)

Le langage SQL 4- Les fonctions Formatage des dates Exemples : Aux questions fondamentales « Quelle heure est-il ? », « Quel jour sommes-nous ? », même MySQL a sa réponse : SELECT DATE_FORMAT(NOW(), 'nous sommes le %W %e %M %Y, il est %H heures %i minutes et %s secondes'); Aïe ! C'est en Anglais ? Hélas...

Le langage SQL TD SQL 1 Trouver une solution pour obtenir les dates francisées. 2- Les clauses de présentation

Le langage SQL TD SQL 3 Trouver une solution pour obtenir les dates francisées. Il n'est pas impossible que les tables existantes ne puisse pas fournir les informations de jours et de mois dont nous avons besoin. 2- Les clauses de présentation