Le langage SQL
- Le langage SQL
- DATA DEFINITION LANGAGE (DDL)
- DATA MANIPULATION LANGAGE (DML)
- DATA QUERY LANGAGE (DQL)
- DATA CONTROL LANGAGE (DCL)
- TRANSACTION CONTROL LANGAGE (TCL)
Fonctions avancées du langage SQL
- Fonctions d'agrégation
- Jointure
- Sous requêtes
- Vues et fonctions
- Fonctions de fenêtrage
- Colonnes calculées
- Business Intelligence
- Arbres
- Données spatiales
- Vecteurs
- Graphes
- Intervalles
- Données JSON
Travaux pratiques
- TP 1 : Cartographie
Exercices
Agrégation
- Compter le nombre d'adhérents. voir
- Compter le nombre d'articles de la famille 02CHOU. voir
- Afficher le nombre de codes postaux différents trouvés dans la table adhérent. voir
- Calculer le chiffre d'affaire global voir
- Calculer le montant de chaque ticket
- Afficher l'article le plus cher (avec son prix). voir
Jointures
- Lister les articles dont la famille n'existe pas voir.
- Lister les articles dont la famille est absente. voir.
Vues
- Créer une vue ticket_complet qui agrège les informations du ticket et le calcul du montant total de ce ticket
- Créer une vue qui donne le chiffre d'affaires de chaque mois
create or replace view ca_mensuel as
select date_trunc('month', date_ticket) as mois,
sum(montant) as total
from ticket_completz tc
group by mois --date_trunc('month', date_ticket)
Sous requêtes
- Sélectionner les articles dont le prix est supérieur à la moyenne générale des prix des articles. voir.
- Sélectionner les articles dont le prix est supérieur à la moyenne des prix des articles de la même famille. voir.
- Afficher pour chaque adhérent la date et le montant de son dernier ticket. voir.
Séance 2
- Calculer le chiffre d'affaire par jour de la semaine. Quel est le jour où il y a plus de vente ?
- Ajouter une colonne calculée à la table adhérent pour calculer l'age de l'adhérent.
- Pourquoi cela ne fonctionne pas
- Créer une vue materialisée de type flat table contenant les toutes informations des tickets
- Par année, par mois, par n° semaine, par famille d'article, par genre, par code postal
- Analyser le total des ventes par mois
- Analayser le vente de la famille POTIRON
Arrondir les montant à deux chiffres après la virgule.
-
1a : Pour chaque adhérent unique, afficher son nom et son nombre de ticket.
-
1b : Quel est le détail du nombre de ticket pour ceux dont le nom de famille est Lavergne ? (11 et 2)
-
2a : Calculer le montant moyen d’un ticket. (18.84)
-
2b : Calculer le nombre moyen d'article distinct d'un ticket. (6.69)
-
2c : Calculer le nombre moyen d'article d'un ticket. Les articles facturés au poids comptent pour 1. (7.22)
-
3a : Pour chaque famille, afficher le nom de la famille et le nombre d'articles associés.
-
3b : . (29)
-
3c : Quelles sont les familles qui ont 2 ou moins d'articles ? ()
-
4a : Afficher, pour chaque mois, le chiffre d’affaires réalisé.
-
4b : Quel est le chiffre d'affaire du mois d'avril 2016. (20042.39)
-
5 : Trouver les 3 adhérents qui ont dépensé le plus en montant total. (Collot, Gérard, Blandin)
-
6a : Afficher l'article facturé au poids ayant généré le plus de ventes en quantité totale vendue. (Pomme)
-
6b : Afficher l'article facturé à l'unité ayant généré le plus de ventes en quantité totale vendue. (Oeufs Boite 6)
-
7a : Pour chaque famille, afficher le montant total des ventes.
-
7b : Quel est le montant total des ventes de la famille 03FRAISE. (10368.69)
-
11a : Combien d'adhérents n’ont jamais acheté d'article ? (273)
-
11b : Combien d'adhérents n’ont aucun ticket ? (261)
-
11c : Combien de tickets sont vides (sans ligne). (12)
-
12a : Quel est l'article qui n'a jamais été commandé ? (Chocolat Noir 80% Framboise Myrtilles)
-
12b : Quels sont les articles qui apparaissent qu'une seule fois dans les lignes de ticket (Ananas séché 100g, ...)
-
14 : Lister les tickets qui contiennent l’article le plus cher du catalogue.