~~stoggle_buttons~~
Exercices d'écriture de requêtes
Requêtes sur une base existante
La base utilisée
Vous trouverez le schéma de la base ici.
L'outil utilisé sera SQLiteBrowse. Pour l'installer :
- Téléchargez l'archive de l'outil que vous stockerez à la racine de votre lecteur H: (Lecteur réseau
prenom.nom sur Serveur Kwartz
dans "Poste de Travail") ; - Dézipper le avec
7-zip
: clic droit de la souris sur le fichier, choisissez 7-zip, option "Extraire ici". - Ouvrez le dossiersqlitebrowser_200_b1_win
, double clic sur le fichier exécutable (.exe)SQLite Database Browser 2.0 b1
. - créez un raccourci sur votre bureau vers le fichier
SQLite Database Browser 2.0 b1
Les scripts
Les requetes
Première requête
Ouvrir (se connecter à) la base
H:\tmp>cd sqlite3 H:\tmp\sqlite3>sqlite3 base_modeles_reduits.db SQLite version 3.7.17 2013-05-20 00:56:22 Enter ".help" for instructions Enter SQL statements terminated with a ";"
Créer les tables
sqlite> .read creerbase.sql sqlite> .tables bureaux commandes employes paiements clients details_commande lignes_produits produits
Peupler les tables
sqlite> .read script1_peupler_tables.sql
La requête en "mode Dos"
sqlite> SELECT * FROM bureaux; 1|Paris|0142552100|10 avenue du G├®n├®ral Leclerc||Ile de France|France|75014|NA 2|Orl├®ans|0238553000|22 rue des Oliviers||Pays de la Loire|France|45000|NA 3|Strasbourg|0388551000|6 rue principale||Alsace|France|67000|NA 4|San Francisco|+1 650 219 4782|100 Market Street|Suite 300|Californie|Etats-Uni s|94080|Etats-Unis 5|Tokyo|+81 33 224 5000|4-1 Kioicho||Chiyoda-Ku|Japon|102-8578|Japon 6|Sydney|+61 2 9264 2451|5-11 Wentworth Avenue|FLOOR #2||Australie|NSW 2010|APAC 7|Londres|+44 20 7877 2041|25 OLD Broad Street|Level 7||Royaume-Uni|EC2N 1HN|EME A
Amélioration de l'affichage
sqlite> .header on sqlite> .mode column sqlite> .width 11 15 14 30 8 14 10 14 sqlite> select * from bureaux; code_bureau commune telephone ligne_adresse1 ligne_adresse2 region pays code_postal territoire ----------- ---------- ---------- ------------------------------ -------------- ------------- ---------- ----------- ---------- 1 Paris 0142552100 10 avenue du G├®n├®ral Leclerc Ile de France France 75014 NA 2 Orl├®ans 0238553000 22 rue des Oliviers Pays de la Lo France 45000 NA 3 Strasbourg 0388551000 6 rue principale Alsace France 67000 NA 4 San Franci +1 650 219 100 Market Street Suite 300 Californie Etats-Unis 94080 Etats-Unis 5 Tokyo +81 33 224 4-1 Kioicho Chiyoda-Ku Japon 102-8578 Japon 6 Sydney +61 2 9264 5-11 Wentworth Avenue Floor #2 Australie NSW 2010 APAC 7 Londres +44 20 787 25 Old Broad Street Level 7 Royaume-Un EC2N 1HN EMEA
La même requête avec l'outil SQLBrowse
Autres requêtes
- réalisez une ou deux jointures :
- d'abord avec INNER JOIN
- ensuite en utilisant une notation ensembliste (SELECT ….. WHERE colonne1 (IN SELECT colonne2 FROM ……).
- Réalisez des UNION, DIFFERENCE, ….
- Affichez les employés qui sont "chef d'équipe" (qui ont des employès qui dépendent d'eux) ;
- Affichez les employés qui sont "chef d'équipe" avec les exmployés qu'ils ont sous leurs ordres ;
- Affichez la liste des produits par ordre croissant des lignes de produits et des noms de produits ;
- Affichez pour chaque produit le chiffre d'affaire réalisé (somme des quantités de produits multipliées par le prix d'achat du produit) ;
- Affichez pour chaque ligne de produit le chiffre d'affaire réalisé (somme des quantités de produits multipliées par le prix d'achat du produit).
- Affichez les plus gros clients ;
- Affichez le "top 10" des plus gros clients.