SlideShare une entreprise Scribd logo
SQL
La commande
select
2017-2018
 L’utilisation la plus courante de SQL consiste a lire des
données issues de la base de données. Cela s’effectue grâce a
la commande SELECT, qui retourne des enregistrements dans
un tableau de résultat. Cette commande peut sélectionner
une ou plusieurs colonnes d’une table.
Introduction
2
SELECT * FROM table
WHERE condition
GROUP BY expression
HAVING condition
{ UNION | INTERSECT | EXCEPT }
ORDER BY expression
LIMIT count
Nous nous proposons d’avoir la base de données
«Personne» qui contient la table «Utilisateur » cette table
contient des informations sur des utilisateurs possédant un
compte dans un site de commerce.
Table Utilisateur
3
On a aussi la table commande qui contient les
informations sur les commandes passés par les utilisateurs.
Table Commande
4
SQL SELECT
Il existe plusieurs commandes qui permettent de mieux
gérer les données que l’ont souhaite lire. Voici un petit aperçu des
quelques fonctionnalités :
 Joindre un autre tableau aux résultats
 Filtrer pour ne sélectionner que certains enregistrements
 Classer les résultats
 Grouper les résultats pour faire uniquement des statistiques
5
Expression des
projections
Expression de projection
La projection d’une table en vue de l’obtention d’un
ensemble de colonnes de cette table se fait simplement en
spécifiant les noms des colonnes désirées.
7
Syntaxe:
SELECT ma_colonne FROM nom_du_tableau
Si l’ont veut avoir la liste de toutes les villes des utilisateurs, il
suffit d’effectuer la requête suivante :
SELECT ville FROM utilisateur
Exemple: Obtenir une seule colonne
8
SQL DISTINCT
Pour éviter des redondances dans les résultats il faut
simplement ajouter DISTINCT après le mot SELECT.
Syntaxe:
SELECT DISTINCT ma_colonne FROM nom_du_tableau
9
Permet d’attribuer un autre nom a une table dans
une requête SQL. Cela peut aider à avoir des noms plus
courts, plus simples et plus facilement compréhensibles.
Alias sur une colonne:
SELECT colonne1 AS c1, colonne2 AS c2 FROM `table`
Alias sur une table:
SELECT * FROM `nom_table` AS t1
Alias sur une table ou colonne
10
Expression des
restrictions
“
Expression des restrictions
La restriction se fait à travers la commande WHERE
qui permet d’extraire les lignes d’une base de données qui
respectent une condition. Cela permet d’obtenir uniquement
les informations désirées.
Syntaxe :
SELECT nom_colonnes FROM nom_table WHERE condition
12
“
Exemple : Expression des restrictions
 Pour obtenir seulement la liste des clients qui habitent a
Paris, il faut effectuer la requête suivante :
SELECT * FROM utilisateur WHERE ville = 'paris‘
13
“
Opérateurs de comparaisons
 Il existe plusieurs operateurs de comparaisons. La liste
ci-jointe présente quelques uns des operateurs les plus
couramment utilisés.
Opérateur Description
= Egale
<>,!= Pas égale
< , > , >= , <= Inférieur , supérieur, supérieur ou égale, inférieur ou égal
IN Liste de plusieurs valeurs possibles
BETWEEN Valeur comprise dans un intervalle donnée (utile pour les
nombres ou dates)
LIKE Recherche en spécifiant le début, milieu ou fin d'un mot.
IS NULL , IS NOT NULL Valeur est nulle , Valeur n'est pas nulle
14
“
Exemple : Expression des restrictions
« NOT BETWEEN »
 Filtrer entre 2 entiers :
Si l’ont souhaite obtenir tous les résultats dont l’identifiant n’est
pas situe entre 4 et 10, il faudra alors utiliser la requête suivante :
SELECT * FROM utilisateur WHERE id NOT BETWEEN 4 AND 10
15
“
Exemple : Expression des restrictions « LIKE »
Si on souhaite obtenir la liste des utilisateurs dont leurs prénoms
contiennent exactement n’importe quelles deux lettres au début
suivit par ‘me’.
SELECT * FROM utilisateur WHERE prénom LIKE ‘__me%’
16
“
Tri et présentation des résultats
SQL permet de trier les tuples obtenus par la requête
selon différents critères grâce à la clause ORDER BY. Les mots
clés ASC et DESC permettent de préciser si le tri est croissant ou
décroissant .
Syntaxe :
La syntaxe a utiliser pour utiliser l’operateur Order by est la
suivante :
SELECT * FROM table order by nom_colonne desc|asc
17
Expression
des jointures
Expression des jointures
Les jointures en SQL permettent d’associer plusieurs
tables dans une même requête. Cela permet d’exploiter la
puissance des bases de données relationnelles pour obtenir
des résultats qui combinent les données de plusieurs tables de
manière efficace.
19
Expression des jointures
Les jointures se font en spécifiant les tables sur lesquelles la jointure sera
faite dans la liste des tables utilisées et en spécifiant la qualification de jointure
utilisée.
INNER JOIN jointure interne pour retourner les enregistrements quand la condition est vrai dans les 2
tables.
CROSS JOIN permet de joindre chaque lignes d’une table avec chaque lignes d’une seconde table.(
produit cartésien)
LEFT JOIN jointure externe pour retourner tous les enregistrements de la table de gauche même si la
condition n’est pas vérifié dans l’autre table.
FULL JOIN jointure externe pour retourner les résultats quand la condition est vrai dans au moins une
des 2 tables.
SELF JOIN permet d’effectuer une jointure d’une table avec elle-même comme si c’était une
autre table.
NATURAL JOIN jointure naturelle entre 2 tables s’il y a au moins une colonne qui porte le
même nom entre les 2 tables SQL
UNION JOIN Jointure d’union
20
Exemple : Expression des jointures
Le résultat d’une jointure naturelle est la création d’un
tableau avec autant de lignes qu’il y a de paires correspondant
à l’association des colonnes de même nom.
Syntaxe :
SELECT * FROM table1 NATURAL JOIN table2
21
Les fonctions
des statistiques
et les
regroupements
Les fonctions statistiques
 SQL offre la possibilité de récupérer des données chiffrées sur
les table ou des parties de table .
 Il est par exemple possible d’obtenir le nombre des tuples
répondant à un critère , la valeur moyenne d’une colonne , la
valeur maximale ou minimale et la somme d’une colonne .
23
Exemple : Les fonctions statistiques
Syntaxe :
La syntaxe a utiliser pour utiliser les fonctions statiques est la
suivante :
SELECT SUM(nom_champ) FROM table
24
Les Regroupements : GROUP BY
Ils est souvent intéressant de regrouper les données
d’une table en sous-tables pour y faire des opérations par
groupes . Par exemple compter les commandes par fournisseur .
Ceci se fait avec la clause GROUP BY suivie de la colonne à
partitionner .
25
Syntaxe :
SELECT * FROM table GROUP BY nom_champ
Les Regroupements : Having
La condition HAVING en SQL est presque similaire à
WHERE à la seule différence que HAVING permet de filtrer en
utilisant des fonctions telles que SUM(), COUNT(), AVG(), MIN() ou
MAX().
26
Syntaxe :
L’utilisation de HAVING s’utilise de la manière suivante :
SELECT colonne1, SUM(colonne2) FROM nom_table GROUP BY
colonne1 HAVING fonction(colonne2) operateur valeur
Exemple : Les Regroupements
27
SELECT id, SUM(prix_total) AS prix_personne FROM
commande GROUP BY id HAVING sum(prix_total) > 330;
Conclusion
29
L’obtention des données se fait exclusivement
par l’ordre SELECT, La syntaxe minimale de cet ordre
est SELECT <nom de la colonne> from <nom de la
table>, Comme on a déjà vu que ça peut être enrichie
par de très nombreuse clauses permettant notamment
d’exprimer plusieurs fonctionnalités. On peut ajouter
après WHERE une autre requête sql et cette
fonctionnalité est appelée les sous requêtes.
30
Exercice
Soit le schéma relationnel de la base de données « pilotes-avions-vols »
PILOTE (NumPilote, NomPilote, PrénomPilote, Ville, Salaire)
AVION (NumAvion, NomAvion, Capacité, Localisation)
VOL (NumVol, NumPilote, NumAvion, VilleDépart, VilleArrivé,
HeureDépart, Heurearrivé)
Exprimer les rêquetes sql suivantes :
 Caractérestiques ( NumVol, VilleDépart, VilleArrivée, HeureDépart,
HeureArrivée, NomAvion, NomPilote) du vol numéro 714
Question 1:
31
Correction question 1:
SELECT NumVol, VilleDépart, Villearrivé, HeureDépart,
HeureArrivée, NomAvion, NomPilote
From AVION a, PILOTE p, VOL v
WHERE p.NumPilote = v.NumPilote
AND a.NumAvion = v.NumAvion
AND NumVol=714;
32
QUESTION 2:
 Caractérestiques (NumAvion, NomAvion, Capacité,
Localisation) des avions localisés dans même ville
que le pilote « Ben Saleh »
33
Correction question 2:
SELECT NumAvion, NomAvion, Capacité, Localisation
From AVION a, PILOTE p
WHERE a.localisation = p.ville
AND Nompilote = ‘Ben Saleh’;
Presentation sql

Contenu connexe

Tendances

Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Hatim CHAHDI
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
Lilia Sfaxi
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
Idriss22
 
Les règles de passage
Les règles de passageLes règles de passage
Les règles de passage
marwa baich
 
Tpdba1
Tpdba1Tpdba1
Tpdba1infcom
 
introduction au SQL et MySQL
introduction au SQL et MySQLintroduction au SQL et MySQL
introduction au SQL et MySQL
Abdoulaye Dieng
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
webreaker
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
Lilia Sfaxi
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
Lilia Sfaxi
 
TP 1 ACCESS
TP 1 ACCESSTP 1 ACCESS
TP 1 ACCESS
Chingongou ­
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
ENSET, Université Hassan II Casablanca
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
Abdelouahed Abdou
 
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
ATPENSC-Group
 
Alphorm.com Formation le langage SQL
Alphorm.com  Formation le langage SQLAlphorm.com  Formation le langage SQL
Alphorm.com Formation le langage SQL
Alphorm
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
Minyar Sassi Hidri
 
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
ATPENSC-Group
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
Abel LIFAEFI MBULA
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMajid CHADAD
 

Tendances (20)

Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
 
Les règles de passage
Les règles de passageLes règles de passage
Les règles de passage
 
Tpdba1
Tpdba1Tpdba1
Tpdba1
 
introduction au SQL et MySQL
introduction au SQL et MySQLintroduction au SQL et MySQL
introduction au SQL et MySQL
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Plsql
PlsqlPlsql
Plsql
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Si bdd
Si bddSi bdd
Si bdd
 
TP 1 ACCESS
TP 1 ACCESSTP 1 ACCESS
TP 1 ACCESS
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
 
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
 
Alphorm.com Formation le langage SQL
Alphorm.com  Formation le langage SQLAlphorm.com  Formation le langage SQL
Alphorm.com Formation le langage SQL
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigés
 

Similaire à Presentation sql

La 2ème partie de la présentation PHP
La 2ème partie de la présentation PHPLa 2ème partie de la présentation PHP
La 2ème partie de la présentation PHP
Club Scientifique de l'ESI - CSE
 
presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
RihabBENLAMINE
 
Support_Cours_SQL.ppt
Support_Cours_SQL.pptSupport_Cours_SQL.ppt
Support_Cours_SQL.ppt
SiwarAbbes1
 
Chapitre5.pdf
Chapitre5.pdfChapitre5.pdf
Chapitre5.pdf
Moez Moezm
 
SQL.pdf
SQL.pdfSQL.pdf
Cours sql-sh-
Cours sql-sh-Cours sql-sh-
Cours sql-sh-
Mohamed Lemine
 
cours-sql-sh-.pdf
cours-sql-sh-.pdfcours-sql-sh-.pdf
cours-sql-sh-.pdf
RazanBenBouChaib
 
Les03.ppt
Les03.pptLes03.ppt
Les03.ppt
zidane39
 
GSI_Chap4-bts-requêtesSQL
GSI_Chap4-bts-requêtesSQLGSI_Chap4-bts-requêtesSQL
GSI_Chap4-bts-requêtesSQL
ecogestionblog
 
downloadfile-101.pptx réseau local installation
downloadfile-101.pptx réseau local installationdownloadfile-101.pptx réseau local installation
downloadfile-101.pptx réseau local installation
BensadiSamir
 
1425583156389.pptx
1425583156389.pptx1425583156389.pptx
1425583156389.pptx
tirike6016
 
Les commandes sql
Les commandes sqlLes commandes sql
Les commandes sql
Hanfi Akram
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
SamirAwad14
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
SamirAwad14
 
Les commandes sql
Les commandes sqlLes commandes sql
Les commandes sqlHanfi Akram
 
Sql
SqlSql
Sql
krymo
 

Similaire à Presentation sql (20)

La 2ème partie de la présentation PHP
La 2ème partie de la présentation PHPLa 2ème partie de la présentation PHP
La 2ème partie de la présentation PHP
 
presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
Cours3 gdm sql
Cours3 gdm sqlCours3 gdm sql
Cours3 gdm sql
 
SQL partie III
SQL partie IIISQL partie III
SQL partie III
 
Support_Cours_SQL.ppt
Support_Cours_SQL.pptSupport_Cours_SQL.ppt
Support_Cours_SQL.ppt
 
Cours sql-sh-
Cours sql-sh-Cours sql-sh-
Cours sql-sh-
 
Chapitre5.pdf
Chapitre5.pdfChapitre5.pdf
Chapitre5.pdf
 
SQL.pdf
SQL.pdfSQL.pdf
SQL.pdf
 
Cours sql-sh-
Cours sql-sh-Cours sql-sh-
Cours sql-sh-
 
cours-sql-sh-.pdf
cours-sql-sh-.pdfcours-sql-sh-.pdf
cours-sql-sh-.pdf
 
Les03.ppt
Les03.pptLes03.ppt
Les03.ppt
 
GSI_Chap4-bts-requêtesSQL
GSI_Chap4-bts-requêtesSQLGSI_Chap4-bts-requêtesSQL
GSI_Chap4-bts-requêtesSQL
 
downloadfile-101.pptx réseau local installation
downloadfile-101.pptx réseau local installationdownloadfile-101.pptx réseau local installation
downloadfile-101.pptx réseau local installation
 
12 fr
12 fr12 fr
12 fr
 
1425583156389.pptx
1425583156389.pptx1425583156389.pptx
1425583156389.pptx
 
Les commandes sql
Les commandes sqlLes commandes sql
Les commandes sql
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
Les commandes sql
Les commandes sqlLes commandes sql
Les commandes sql
 
Sql
SqlSql
Sql
 

Dernier

Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
sewawillis
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
Moukagni Evrard
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Yuma91
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 

Dernier (12)

Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 

Presentation sql

  • 2.  L’utilisation la plus courante de SQL consiste a lire des données issues de la base de données. Cela s’effectue grâce a la commande SELECT, qui retourne des enregistrements dans un tableau de résultat. Cette commande peut sélectionner une ou plusieurs colonnes d’une table. Introduction 2 SELECT * FROM table WHERE condition GROUP BY expression HAVING condition { UNION | INTERSECT | EXCEPT } ORDER BY expression LIMIT count
  • 3. Nous nous proposons d’avoir la base de données «Personne» qui contient la table «Utilisateur » cette table contient des informations sur des utilisateurs possédant un compte dans un site de commerce. Table Utilisateur 3
  • 4. On a aussi la table commande qui contient les informations sur les commandes passés par les utilisateurs. Table Commande 4
  • 5. SQL SELECT Il existe plusieurs commandes qui permettent de mieux gérer les données que l’ont souhaite lire. Voici un petit aperçu des quelques fonctionnalités :  Joindre un autre tableau aux résultats  Filtrer pour ne sélectionner que certains enregistrements  Classer les résultats  Grouper les résultats pour faire uniquement des statistiques 5
  • 7. Expression de projection La projection d’une table en vue de l’obtention d’un ensemble de colonnes de cette table se fait simplement en spécifiant les noms des colonnes désirées. 7 Syntaxe: SELECT ma_colonne FROM nom_du_tableau
  • 8. Si l’ont veut avoir la liste de toutes les villes des utilisateurs, il suffit d’effectuer la requête suivante : SELECT ville FROM utilisateur Exemple: Obtenir une seule colonne 8
  • 9. SQL DISTINCT Pour éviter des redondances dans les résultats il faut simplement ajouter DISTINCT après le mot SELECT. Syntaxe: SELECT DISTINCT ma_colonne FROM nom_du_tableau 9
  • 10. Permet d’attribuer un autre nom a une table dans une requête SQL. Cela peut aider à avoir des noms plus courts, plus simples et plus facilement compréhensibles. Alias sur une colonne: SELECT colonne1 AS c1, colonne2 AS c2 FROM `table` Alias sur une table: SELECT * FROM `nom_table` AS t1 Alias sur une table ou colonne 10
  • 12. “ Expression des restrictions La restriction se fait à travers la commande WHERE qui permet d’extraire les lignes d’une base de données qui respectent une condition. Cela permet d’obtenir uniquement les informations désirées. Syntaxe : SELECT nom_colonnes FROM nom_table WHERE condition 12
  • 13. “ Exemple : Expression des restrictions  Pour obtenir seulement la liste des clients qui habitent a Paris, il faut effectuer la requête suivante : SELECT * FROM utilisateur WHERE ville = 'paris‘ 13
  • 14. “ Opérateurs de comparaisons  Il existe plusieurs operateurs de comparaisons. La liste ci-jointe présente quelques uns des operateurs les plus couramment utilisés. Opérateur Description = Egale <>,!= Pas égale < , > , >= , <= Inférieur , supérieur, supérieur ou égale, inférieur ou égal IN Liste de plusieurs valeurs possibles BETWEEN Valeur comprise dans un intervalle donnée (utile pour les nombres ou dates) LIKE Recherche en spécifiant le début, milieu ou fin d'un mot. IS NULL , IS NOT NULL Valeur est nulle , Valeur n'est pas nulle 14
  • 15. “ Exemple : Expression des restrictions « NOT BETWEEN »  Filtrer entre 2 entiers : Si l’ont souhaite obtenir tous les résultats dont l’identifiant n’est pas situe entre 4 et 10, il faudra alors utiliser la requête suivante : SELECT * FROM utilisateur WHERE id NOT BETWEEN 4 AND 10 15
  • 16. “ Exemple : Expression des restrictions « LIKE » Si on souhaite obtenir la liste des utilisateurs dont leurs prénoms contiennent exactement n’importe quelles deux lettres au début suivit par ‘me’. SELECT * FROM utilisateur WHERE prénom LIKE ‘__me%’ 16
  • 17. “ Tri et présentation des résultats SQL permet de trier les tuples obtenus par la requête selon différents critères grâce à la clause ORDER BY. Les mots clés ASC et DESC permettent de préciser si le tri est croissant ou décroissant . Syntaxe : La syntaxe a utiliser pour utiliser l’operateur Order by est la suivante : SELECT * FROM table order by nom_colonne desc|asc 17
  • 19. Expression des jointures Les jointures en SQL permettent d’associer plusieurs tables dans une même requête. Cela permet d’exploiter la puissance des bases de données relationnelles pour obtenir des résultats qui combinent les données de plusieurs tables de manière efficace. 19
  • 20. Expression des jointures Les jointures se font en spécifiant les tables sur lesquelles la jointure sera faite dans la liste des tables utilisées et en spécifiant la qualification de jointure utilisée. INNER JOIN jointure interne pour retourner les enregistrements quand la condition est vrai dans les 2 tables. CROSS JOIN permet de joindre chaque lignes d’une table avec chaque lignes d’une seconde table.( produit cartésien) LEFT JOIN jointure externe pour retourner tous les enregistrements de la table de gauche même si la condition n’est pas vérifié dans l’autre table. FULL JOIN jointure externe pour retourner les résultats quand la condition est vrai dans au moins une des 2 tables. SELF JOIN permet d’effectuer une jointure d’une table avec elle-même comme si c’était une autre table. NATURAL JOIN jointure naturelle entre 2 tables s’il y a au moins une colonne qui porte le même nom entre les 2 tables SQL UNION JOIN Jointure d’union 20
  • 21. Exemple : Expression des jointures Le résultat d’une jointure naturelle est la création d’un tableau avec autant de lignes qu’il y a de paires correspondant à l’association des colonnes de même nom. Syntaxe : SELECT * FROM table1 NATURAL JOIN table2 21
  • 23. Les fonctions statistiques  SQL offre la possibilité de récupérer des données chiffrées sur les table ou des parties de table .  Il est par exemple possible d’obtenir le nombre des tuples répondant à un critère , la valeur moyenne d’une colonne , la valeur maximale ou minimale et la somme d’une colonne . 23
  • 24. Exemple : Les fonctions statistiques Syntaxe : La syntaxe a utiliser pour utiliser les fonctions statiques est la suivante : SELECT SUM(nom_champ) FROM table 24
  • 25. Les Regroupements : GROUP BY Ils est souvent intéressant de regrouper les données d’une table en sous-tables pour y faire des opérations par groupes . Par exemple compter les commandes par fournisseur . Ceci se fait avec la clause GROUP BY suivie de la colonne à partitionner . 25 Syntaxe : SELECT * FROM table GROUP BY nom_champ
  • 26. Les Regroupements : Having La condition HAVING en SQL est presque similaire à WHERE à la seule différence que HAVING permet de filtrer en utilisant des fonctions telles que SUM(), COUNT(), AVG(), MIN() ou MAX(). 26 Syntaxe : L’utilisation de HAVING s’utilise de la manière suivante : SELECT colonne1, SUM(colonne2) FROM nom_table GROUP BY colonne1 HAVING fonction(colonne2) operateur valeur
  • 27. Exemple : Les Regroupements 27 SELECT id, SUM(prix_total) AS prix_personne FROM commande GROUP BY id HAVING sum(prix_total) > 330;
  • 29. 29 L’obtention des données se fait exclusivement par l’ordre SELECT, La syntaxe minimale de cet ordre est SELECT <nom de la colonne> from <nom de la table>, Comme on a déjà vu que ça peut être enrichie par de très nombreuse clauses permettant notamment d’exprimer plusieurs fonctionnalités. On peut ajouter après WHERE une autre requête sql et cette fonctionnalité est appelée les sous requêtes.
  • 30. 30 Exercice Soit le schéma relationnel de la base de données « pilotes-avions-vols » PILOTE (NumPilote, NomPilote, PrénomPilote, Ville, Salaire) AVION (NumAvion, NomAvion, Capacité, Localisation) VOL (NumVol, NumPilote, NumAvion, VilleDépart, VilleArrivé, HeureDépart, Heurearrivé) Exprimer les rêquetes sql suivantes :  Caractérestiques ( NumVol, VilleDépart, VilleArrivée, HeureDépart, HeureArrivée, NomAvion, NomPilote) du vol numéro 714 Question 1:
  • 31. 31 Correction question 1: SELECT NumVol, VilleDépart, Villearrivé, HeureDépart, HeureArrivée, NomAvion, NomPilote From AVION a, PILOTE p, VOL v WHERE p.NumPilote = v.NumPilote AND a.NumAvion = v.NumAvion AND NumVol=714;
  • 32. 32 QUESTION 2:  Caractérestiques (NumAvion, NomAvion, Capacité, Localisation) des avions localisés dans même ville que le pilote « Ben Saleh »
  • 33. 33 Correction question 2: SELECT NumAvion, NomAvion, Capacité, Localisation From AVION a, PILOTE p WHERE a.localisation = p.ville AND Nompilote = ‘Ben Saleh’;

Notes de l'éditeur

  1. Squelette : cette requête imaginaire sert principale d’aide-mémoire pour savoir dans quel ordre sont utilisé chacun des commandes au sein d’une requête SELECT
  2. L’utilisateur_id est un clé etranger qui reference à la table utilsateur
  3. Si l’on souhaite obtenir toutes les colonnes d’une table le caractère ‘*’ peut être utilisé avantageusement à la place de la liste des noms de colonnes.
  4. L’utilisation de la commande SELECT en SQL permet de lire toutes les données d’une ou plusieurs colonnes. Cette commande peut potentiellement afficher des lignes en doubles.
  5. La commande WHERE s’utilise en complément a une requête utilisant SELECT. La façon la plus simple de l’utiliser est la suivante :
  6. Le language sql est sensible à la casse il faut faire attention au nom des colonnes et des attributs
  7. Le Not betwen a le meme role que l’operateur between sauf que elle retourne des valeurs exterieurs de l’intervalle
  8. % remplace plusieurs caractéres
  9. Desc pour mentionner que c’est à l’ordre descendant l’ordre est par défaut ascendant
  10. jointure naturelle entre 2 tables s’il y a au moins une colonne qui porte le même nom entre les 2 tables SQL, d’ailleurs ici on a changé la colonne utilisateur_id dans la table commande en « id » On se propose ici d’afficher les prénoms , date d’achat num facture et le prix d’achat suite à une réduction de 20% ( la requete select supporte les fonction arrithmétiques)
  11. 9bal mat9oulou el requete : on se propose ici de déterminer le prix total d’achat par personne d’où additionner les depenses par rapport à l id des utilisateurs. Il est important de noter que les opérations statistiques précédentes ne peuvent pas s’imbriquer . Il est par exemple interdit d’écrire quelque chose comme AVG(SUM(montant)) .
  12. A noter : cette commande doit toujours s’utiliser après la commande WHERE et avant la commande HAVING.
  13. Cela permet donc de SÉLECTIONNER les colonnes DE la table « nom_table » en GROUPANT les lignes qui ont des valeurs identiques sur la colonne « colonne1″ et que la condition de HAVING soit respectée. Important : HAVING est très souvent utilisé en même temps que GROUP BY bien que ce ne soit pas obligatoire.
  14. Cette requette affiche la somme de prix totale qui est supérieur à 330 d’un utilisateur à partir de la table commande et on le regroupant par id