TP : SQL
Exercice
Soit la table livres suivante :
id_livre titre isbn auteur prix
1 Forteresse digitale 2709626306 Dan Brown 20.5
2 La jeune fille et la nuit 2253237620 Guillaume Musso 21.9
3 T'choupi se brosse les dents 2092589547 Thierry Courtin 5.7
4 La Dernière Chasse 2226439412 Jean-Christophe Grangé 22.9
5 Le Signal 2226319484 Maxime Chattam 23.9
En utilisant le langages SQL :
Partie-1 : Création de la structure
1. Créer une base de données nommée dblivres
CREATE DATABASE dblivres;
2. Créer la table livres ci-dessus sachant que id_livres est une PK
create table livres
(
`id_livres` int NOT NULL AUTO_INCREMENT,
`titre` varchar(50) NOT NULL,
`isbn` varchar(50) NOT NULL,
`auteur` varchar(50) NOT NULL,
`prix` float NOT NULL,
primary key (id_livres)
);
3. Peuplez-la avec les enregistrements ci-dessus
insert into [Link] (`titre`,`isbn`,`auteur`,`prix`)
value ('Forteresse digitale','2709','Dan Brown',20.5),
('La jeune fille et la nuit','2253', 'Guillaume Musso',21.9),
('Tchoupi se brosse les dents',2092, 'Thierry Courtin',5.7),
('La Derniere Chasse', 2226, 'Jean-Christophe Grange',22.9),
('Le Signal',9484,'Maxime Chattam',23.9);
Partie-2 : Interroger la table
1. Afficher l'ensemble des enregistrements de la table livres ?
SELECT * FROM livres;
2. Afficher uniquement les livres qui ont un prix strictement supérieur à 20 ?
SELECT * FROM livres WHERE prix > 20;
3. Trier les enregistrements de la table livres du prix le plus élevé aux prix le plus bas ?
SELECT * FROM livres ORDER BY prix DESC;
4. Afficher le prix du livre le plus élevé de la table livres ?
SELECT MAX(prix) FROM livres;
5. Afficher les livres de la table livres qui ont un prix compris entre 20 et 22 ?
SELECT * FROM livres WHERE prix BETWEEN 20 AND 22;
6. Afficher tous les livres de la table livres à l'exception de celui ayant la valeur pour la colonne
isbn: 2226?
SELECT * FROM livres WHERE isbn != 2226;
7. Afficher uniquement les 3 premiers enregistrements de la table livres.
SELECT * FROM livres LIMIT 3;
8. Afficher uniquement les 3 premiers résultats sans le tout premier de la table livres
SELECT * FROM livres LIMIT 3 OFFSET 1;