Académique Documents
Professionnel Documents
Culture Documents
TAKOUK Houda - TP SQL-2023
TAKOUK Houda - TP SQL-2023
● employees table des employees stocke les données relatives aux employés, telles que l'ID
d'employé, le nom de famille, le prénom, etc. Elle comporte également un champ
nommé ReportsTo pour spécifier qui fait rapport à qui.
● customers table des customers stocke les données des clients.
● invoices & invoice_items : ces deux tables stockent les données de facturation. La table
de invoices stocke les données d'en-tête de facture et la table invoice_items stocke les
données d'élément de ligne de facture.
● artists table stocke les données des artistes. C'est un tableau simple qui ne contient que
l'identifiant et le nom de l'artiste.
● albums table des albums stocke des données sur une liste de pistes. Chaque album
appartient à un artiste. Cependant, un artiste peut avoir plusieurs albums.
● media_types table media_types stocke les types de média tels que l'audio MPEG et le fichier
audio AAC.
● genres table stocke des types de musique tels que le rock, le jazz, le métal, etc.
● tracks table des tracks stocke les données des chansons. Chaque piste appartient à un
album.
● playlists & playlist_track tables: playlists table stocke des données sur les
playlists. Chaque playlist contient une liste de pistes. Chaque piste peut appartenir à
plusieurs playlists. La relation entre la table des playlists et la table des tracks est
multiple. La table playlist_track est utilisée pour refléter cette relation.
Puis :
1
Ecrire les requêtes SQL permettant d’afficher :
1_Tous les trackid, track name, composer, et unit price de la table tracks
2
3_ Le jeu de résultats en fonction de la colonne AlbumId par ordre croissant de la table tracks
4_Le résultat trié (par AlbumId) en ordre croissant et la colonne Millisecondes dans l'ordre décroissant.
3
5_Les city et country de tous les clients (customers) dans un ordre par pays
4
7_Tous les (name, milliseconds, bytes, albumid) de la table tracks qui ont le albumid=1 avec la
commande WHERE
SELECT NAME ,millliseconds,bytes,albumid
FROM tracks
WHERE albumid =1
8_Les 10 premières lignes de la table tracks pour les colonnes trackId, name
SELECT trackid,name
FROM tracks
LIMIT 10
5
9_Les 10 lignes à partir de la 10eme ligne de la table des pistes ( tracks )
10_Les factures (invoices) qui ont un total entre 14.96 et 18.86 en utilisant la commande between en filtrant
par ordre ascendant sur la colonne Total – Dans ce cas on affiche que les champs InvoiceId,
BillingAddress, Total
6
11_Les factures (invoices) qui ont une date January 1 2010 and January 31 2010 en utilisant la
commande between en filtrant par ordre ascendant sur la colonne InvoiceDate – Dans ce cas on affiche que
les champs InvoiceId, BillingAddress, InvoiceDate, Total
12_Les noms de la table tracks qui contiennent les caractères Wild avec la commande LIKE
7
13_Les artistes (artists) qui n’ont aucun album avec deux méthodes:
Premièrement, nous utilisons la clause ORDER BY pour lister les lignes dont les premiers
AlbumId sont NULL
Deuxièmement, nous utilisons la clause WHERE et l'opérateur IS NULL pour répertorier uniquement
les artistes ne possédant aucun album
8
14_Dans la table tracks, AlbumId est une clé étrangère. Et dans la table albums, AlbumId est une clé
primaire
Lier les deux tables tracks et albums
15_Filtrer les groupes, en utilisant GROUP BY avec la clause HAVING. A partir des données des deux
tables tracks et albums et en utilisant la commande INNER JOIN, trouver les albums qui ont un total de
temps (length) long de plus de 60,000,000 millisecondes.
16_Les albums qui ont un nombre de pistes (tracks) entre 18 et 20. Regrouper le résultat par albumid. En
affiche juste albumid, (trackid)
9
17_Une liste complète des noms des employés et des clients triés par prénom et nom de famille. Dans ce
cas, vous devez utiliser la clause UNION avec la clause ORDER BY.
18_Insérer trois nouvelles lignes (3 noms) dans la table artists , vérifier le résultat.
10
19_Mettre à jour avec la commande UPDATE la table employees pour les colonnes
city = 'Toronto', state = 'ON', postalcode = 'M5P 2N7' pour employeeid = 4. Verifier le résultat
11
21_Créer une nouvelle table contacts
12
22_Ajouter une contrainte qui vérifie que les valeurs de la colonne téléphone doivent comporter au moins
10 caractères.
Renommer la table devices en utilisant ALTER TABLE RENAME TO en table equipment, vérifier l’opération.
13
Ajouter une nouvelle colonne
14
- Insérer une adresse et une personne dans les tables addresses et people
15
-
.
- Utiliser la commande DROP TABLE pour supprimer la table addresses. Quel est le résultat ?
pourquoi ?
16