Language SQL DML
Select ?
→ extrait des données des tables
From ?
→ c’est les tables à partir des quelles on va chercher l’information
Select * ?
→ affiche l’ensemble des colonnes.
Select distinct ?
→ supprime les doublons, fait partie des opérateurs sql
Select = afficher
From = colonne où se trouve les données
in ?
→ c’est pour dire que les données sont dans plusieurs catégories.
Not in ?
→ pour dire que les données ne sont pas dans plusieurs valeurs.
Between ?
→ pour des comparaisons c’est in, not in, et pour des comparaisons “entre” c’est between, et pas >=.
Un masque ?
→ définit une faille de chaînes de caractères : ‘B_’ ou ‘%SAPIN%’
_ ?
→ un caractère
% ?
→ plusieurs caratères
and ?
→ permet une double combinaison
Il faut toujours qu’il aie un … dans une combinaison ?
→ un from.
COMPTE > 0 ?
→ COMPTE est créditeur
Select NOM, ADRESSE, COMPTE
Where COMPTE > 0,
and (CAT = ‘C1’ or LOCALITÉ = ‘Paris’)?
→ afficher le nom, adresse et compte qui est créditeur et qui se trouve dans la catégorie ‘C1’ ou est dans ‘Paris’.
→ Savoir chaque table correspond à quoi pour la semaine pro
as ?
→ permet de renommer des colonnes
Le moteur SQL commence par lire le ‘from’ dans une combinaison.
2ème ligne : le where.
Les alias dans un select ne peuvent jamais être utilisés dans un … ?
→ where.
Fonctions préprogrammées ?
trim ?
→ Utilisé pour effacer les espaces blancs (supprime avec des concaténations : barres droites sur clavier pc)
Cast ?
→ conversion de type.
Fonction temporelle ?
→ afficher uniquement une valeur précise.
Substring ?
→ sous chaîne de caractère, ( for 1 = pour la 1ère lettre de la catégorie)
Si je veux soustraire la 2ème et troisième lettre de la catégorie ?
→ (from 2 for 2) à partir de la 2 eme jusque la troisième. (Ne pas mettre for 3 car ça va prendre la 4eme lettre avec)
Avg(COMPTE) ?
→ moyenne d’une colonne.
Max (COMPTE) ?
→ prend toutes les valeurs maximales d’une colonne.
Select Sum (QSTOCK*PRIX)
from PRODUIT
where LIBELLE like ‘%SAPIN%’; ?
→ total du montant en stock des produits qui ont le libellé SAPIN.
select count (distinct NCLI)
From COMMANDE ?
→ affiche le nombre de clients distincts dans la colonne COMMANDE
select count(distinct NCLI) as Nombre,
count(distinct NOM) as Noms,
count(distinct LOCALITE) as Localités,
count(distinct CAT) as Catégories
from CLIENT; ?
Les fonctions agrégatives (statistiques) ?`
→ pas à savoir pour l’examen
Résultat dans une autre requête ?
→ select NCOM, DATECOM
from COMMANDE
where NCLI in (select NCLI
from CLIENT
where LOCALITE = 'Namur');
Voir slide 27.
→ shéma important.
Condition de non association ?
→ c’est donner les commandes qui ne spécifie pas une valeur.
Quelles sont les commandes qui ne spécifient pas le produit PA60 ? (Question examen)
→ select NCOM, DATECOM, NCLI
from COMMANDE
where NCOM in (select NCOM
from DETAIL
where NPRO <> 'PA60');
Chaque fois qu’on est confrontés à une condition d’association on doit absolument utiliser ?
→ fonctionne uniquement avec un not in et un not exist.
select NCLI, NOM, LOCALITE, COMPTE
from CLIENT as C
where COMPTE > (select avg(COMPTE)
from CLIENT
where LOCALITE = C.LOCALITE);
Qu’est ce que le C ?
→ c’est une variable qui à chaque instant référence la ligne courant CLIENT dans la requête externe.
Quantifiacteurs ensembliste ?
→ existes(E) ?
→ c’est un prédicat, variable qui peut prendre deux valeurs. Il check si une valeur est dans une colonne et puis la
Table détail ?
→ table où se trouve toutes les commandes
Pour tout ? → spécifie tous les produits de commandes.
→ chaque fois qu’on a pas d’opérateur pour tout, il faut passer par les opérateurs not in et not exist.
Select ?
→ extrait des données des tables
From ?
→ c’est les tables à partir des quelles on va chercher l’information
Select * ?
→ affiche l’ensemble des colonnes.
Select distinct ?
→ supprime les doublons, fait partie des opérateurs sql
Select = afficher
From = colonne où se trouve les données
in ?
→ c’est pour dire que les données sont dans plusieurs catégories.
Not in ?
→ pour dire que les données ne sont pas dans plusieurs valeurs.
Between ?
→ pour des comparaisons c’est in, not in, et pour des comparaisons “entre” c’est between, et pas >=.
Un masque ?
→ définit une faille de chaînes de caractères : ‘B_’ ou ‘%SAPIN%’
_ ?
→ un caractère
% ?
→ plusieurs caratères
and ?
→ permet une double combinaison
Il faut toujours qu’il aie un … dans une combinaison ?
→ un from.
COMPTE > 0 ?
→ COMPTE est créditeur
Select NOM, ADRESSE, COMPTE
Where COMPTE > 0,
and (CAT = ‘C1’ or LOCALITÉ = ‘Paris’)?
→ afficher le nom, adresse et compte qui est créditeur et qui se trouve dans la catégorie ‘C1’ ou est dans ‘Paris’.
→ Savoir chaque table correspond à quoi pour la semaine pro
as ?
→ permet de renommer des colonnes
Le moteur SQL commence par lire le ‘from’ dans une combinaison.
2ème ligne : le where.
Les alias dans un select ne peuvent jamais être utilisés dans un … ?
→ where.
Fonctions préprogrammées ?
trim ?
→ Utilisé pour effacer les espaces blancs (supprime avec des concaténations : barres droites sur clavier pc)
Cast ?
→ conversion de type.
Fonction temporelle ?
→ afficher uniquement une valeur précise.
Substring ?
→ sous chaîne de caractère, ( for 1 = pour la 1ère lettre de la catégorie)
Si je veux soustraire la 2ème et troisième lettre de la catégorie ?
→ (from 2 for 2) à partir de la 2 eme jusque la troisième. (Ne pas mettre for 3 car ça va prendre la 4eme lettre avec)
Avg(COMPTE) ?
→ moyenne d’une colonne.
Max (COMPTE) ?
→ prend toutes les valeurs maximales d’une colonne.
Select Sum (QSTOCK*PRIX)
from PRODUIT
where LIBELLE like ‘%SAPIN%’; ?
→ total du montant en stock des produits qui ont le libellé SAPIN.
select count (distinct NCLI)
From COMMANDE ?
→ affiche le nombre de clients distincts dans la colonne COMMANDE
select count(distinct NCLI) as Nombre,
count(distinct NOM) as Noms,
count(distinct LOCALITE) as Localités,
count(distinct CAT) as Catégories
from CLIENT; ?
Les fonctions agrégatives (statistiques) ?`
→ pas à savoir pour l’examen
Résultat dans une autre requête ?
→ select NCOM, DATECOM
from COMMANDE
where NCLI in (select NCLI
from CLIENT
where LOCALITE = 'Namur');
Voir slide 27.
→ shéma important.
Condition de non association ?
→ c’est donner les commandes qui ne spécifie pas une valeur.
Quelles sont les commandes qui ne spécifient pas le produit PA60 ? (Question examen)
→ select NCOM, DATECOM, NCLI
from COMMANDE
where NCOM in (select NCOM
from DETAIL
where NPRO <> 'PA60');
Chaque fois qu’on est confrontés à une condition d’association on doit absolument utiliser ?
→ fonctionne uniquement avec un not in et un not exist.
select NCLI, NOM, LOCALITE, COMPTE
from CLIENT as C
where COMPTE > (select avg(COMPTE)
from CLIENT
where LOCALITE = C.LOCALITE);
Qu’est ce que le C ?
→ c’est une variable qui à chaque instant référence la ligne courant CLIENT dans la requête externe.
Quantifiacteurs ensembliste ?
→ existes(E) ?
→ c’est un prédicat, variable qui peut prendre deux valeurs. Il check si une valeur est dans une colonne et puis la
Table détail ?
→ table où se trouve toutes les commandes
Pour tout ? → spécifie tous les produits de commandes.
→ chaque fois qu’on a pas d’opérateur pour tout, il faut passer par les opérateurs not in et not exist.