top of page

SQL : Chapitre 6

Corrections

Learning by Doing.
Le monde du SQL.
Chapitre 7.

Pour sélectionner toutes les données de la table "student", utilisez :

​

SELECT * FROM student;

​

Vous pouvez aussi utiliser cette requête qui inclue le nom de la base de donnée et la table.

​

SELECT * FROM education.student;

​

Pour sélectionner toutes les données de la table "university", utilisez :

​

SELECT * FROM university;

​

La requête suivante permet de sélectionner toutes les lignes et toutes les colonnes de la table "student".

​

SELECT *

FROM student;

​

La requête suivante est une projection qui permet de sélectionner toutes les lignes, mais seulement une partie de colonnes de la table "student" (identifiant de l'étudiant, son nom et sa nationalité).

​

SELECT std_id, std_name, std_nationality

FROM student;

 

La requête suivante combine une projection et une restriction qui permet de sélectionner uniquement des lignes qui correspond aux étudiants français et seulement une parie de colonnes de la table "student".

​

SELECT std_id, std_name, std_nationality

FROM student

WHERE std_nationality="French";

​

Pour sélectionnez les noms et les prénoms des étudiants de la table « student », utilisez la requête suivante :

​

SELECT std_name, std_surname
FROM student;

​

SELECT std_name AS NAME, std_surname AS SURNAME
FROM student

​

-> Sélectionnez les étudiants qui ont 20 ans.

​

SELECT *
FROM student
WHERE std_age=20;

​

-> Sélectionnez les étudiants qui ont moins de 30 ans et qui sont américains.

​

SELECT *
FROM student
WHERE std_age < 30 AND std_nationality="American";

​

-> Sélectionnez les étudiants âgés entre 18 et 22 ans et qui ne sont pas français.

​

SELECT *
FROM student
WHERE std_age BETWEEN 18 AND 22
AND std_nationality<>"French";

​

-> Sélectionnez les étudiants qui ont plus de 18 ans ou qui sont américains.

​

SELECT *
FROM student
WHERE std_age>18 OR std_nationality="American";

​

-> Sélectionnez des établissements français qui ont moins de 100 ans.

​

SELECT *
FROM university
WHERE unv_country="France" AND

unv_year>1922;

​

SELECT *

FROM university

WHERE unv_country="France" AND

unv_year>2022-100;

​

SELECT *
FROM university
WHERE unv_country="France" AND

unv_year>YEAR(CURRENT_DATE())-100;

​

-> Sélectionnez les étudiants qui n’ont pas de numéro de téléphone renseigné.

​

SELECT *
FROM student
WHERE std_phone IS NULL ;

​

SELECT *
FROM student
WHERE std_phone LIKE "%XX%"

OR std_phone IS NULL;

​

Exercices pratiques : Les visites guidées

​

-> Affichez la liste des utilisateurs de la plateforme.

 

SELECT * FROM utilisateur;

​

-> Affichez la liste des utilisateurs-guides de la plateforme.

​

SELECT DISTINCT tour_guide FROM tour;

​

-> Affichez le tour le plus court.

​

SELECT * FROM tour
ORDER BY tour_duration ASC
LIMIT 1;

​

-> Affichez le tour le plus long.

​

SELECT * FROM tour

ORDER BY tour_duration DESC

LIMIT 1;

​

-> Affichez les commentaires qui ont une note inférieure à 5.

​

SELECT * FROM commentaire
WHERE cmt_note < 5;

​

-> Affichez les réservations faites par l’utilisateur ‘lachard’.

​

SELECT * FROM booking
WHERE usr_customer LIKE "%lachard%";

​

-> Affichez la liste des utilisateurs PREMIUM dans l’ordre alphabétique.

​

SELECT * FROM utilisateur
WHERE usr_is_premium=1
ORDER BY usr_surname ASC;

​

SELECT usr_surname AS SURNAME, usr_name AS NAME FROM utilisateur
WHERE usr_is_premium=1
ORDER BY usr_surname ASC;

​

-> Affichez les utilisateurs qui n’utilisent pas Gmail pour se connecter.

​

SELECT * FROM utilisateur
WHERE usr_email NOT LIKE "%gmail%";

​

-> Affichez la liste des utilisateurs triée par âge qui utilisent Gmail pour se connecter.

​

SELECT * FROM utilisateur
WHERE usr_email LIKE "%gmail%"
ORDER BY usr_age ASC;

​

-> Affichez les utilisateurs qui n’ont pas renseigné leur âge.

​

SELECT * FROM utilisateur
WHERE usr_age IS NULL;

​

-> Affichez les utilisateurs qui ont entre 19 et 21 ans et qui utilisent Gmail.

​

SELECT * FROM utilisateur
WHERE usr_age BETWEEN 19 AND 21 
AND usr_email LIKE "%gmail%";

​

-> Affichez les tours proposés à Paris et qui coutent moins de 20 euros.

​

SELECT * FROM tour
WHERE tour_city="PARIS" AND tour_price<20;

​

-> Affichez les noms et les descriptions des visites qui coutent moins de 30 euros ou qui durent plus de 2 heures.

​

SELECT tour_name, tour_description FROM tour
WHERE tour_price<30 AND tour_duration<2;

​

-> Affichez les courriels des utilisateurs qui ont noté les tours sans laisser de commentaire et en laissant une note inférieure à 5. Triez les résultats par note en commençant par la note la plus faible.

​

SELECT * FROM commentaire
WHERE cmt_body IS NULL AND cmt_note<5
ORDER BY cmt_note ASC;

​

-> Sélectionnez les tours proposés en avril.

​

SELECT * FROM tour
WHERE tour_date LIKE "2022-04%"

​

SELECT * FROM tour  
WHERE tour_date BETWEEN '2022-04-1 00:00:00' AND '2022-04-30 23:59:59'

​

SELECT * FROM tour
WHERE MONTH(tour_date)=4;

​

bottom of page