Prise de décision basée sur des données en SQL
Tim Verdonck
Professor Statistics and Data Science
Sélectionner tous les clients situés en Italie :
SELECT *
FROM customers
WHERE country = 'Italy';
|customer_id | name | country | gender | date_of_birth | date_account_start|
|------------|-------------------|---------|--------|---------------|-------------------|
| 53 | Teresio Panicucci | Italy | male | 1999-07-21 | 2018-11-06 |
| 54 | Demetrio Palermo | Italy | male | 1997-10-10 | 2018-10-17 |
| 55 | Facino Milano | Italy | male | 1973-05-23 | 2018-01-02 |
=<><<=>>=BETWEENINIS NULL et IS NOT NULLSélectionner toutes les colonnes de movies où le genre n'est pas « Drame ».
SELECT *
FROM movies
WHERE genre <> 'Drama';
Sélectionner toutes les colonnes de movies où le prix de location est supérieur ou égal à 2.
SELECT *
FROM movies
WHERE renting_price >= 2;
Sélectionner toutes les colonnes de customers où la date de création du compte est comprise entre le le 01/01/2018 et le 30/09/2018.
SELECT *
FROM customers
WHERE date_account_start BETWEEN '2018-01-01' AND '2018-09-30';
Sélectionner tous les acteurs de nationalité américaine ou australienne.
SELECT *
FROM actors
WHERE nationality IN ('USA', 'Australia')
Sélectionner toutes les colonnes de renting où rating correspond à NULL.
SELECT *
FROM renting
WHERE rating IS NULL
Sélectionner toutes les colonnes de renting où rating n'est pas égal à NULL.
SELECT *
FROM renting
WHERE rating IS NOT NULL
Sélectionner le nom du client et la date à laquelle il a créé son compte pour les clients originaires d'Italie _ET_ qui ont créé un compte entre le 1er janvier 2018 et le 30 septembre 2018.
SELECT name, date_account_start
FROM customers
WHERE country = 'Italy'
AND date_account_start BETWEEN '2018-01-01' AND '2018-09-30';
| name | date_account_start |
|--------------------|--------------------|
| Facino Milano | 2018-01-02 |
| Mario Lettiere | 2018-01-30 |
| Rocco Buccho | 2018-02-27 |
| Cristoforo Mancini | 2018-01-12 |
Sélectionner le nom du client et la date à laquelle il a créé son compte pour les clients résidant en Italie _ET_ayant créé un compte entre le 01/01/2018 et le 30/09/2018.
SELECT name, date_account_start
FROM customers
WHERE country = 'Italy'
OR date_account_start BETWEEN '2018-01-01' AND '2018-09-30';
| name | country | date_account_start |
|-----------------------|-------- |--------------------|
| Rowanne Couperus | Belgium | 2018-08-26 |
| Annelous Sneep | Belgium | 2018-05-12 |
| Jaëla van den Dolder | Belgium | 2018-02-08 |
| ... | ... | ... |
Classer les résultats d'une requête par évaluation.
SELECT *
FROM renting
WHERE rating IS NOT NULL
ORDER BY rating;
| renting_id | customer_id | movie_id | rating | date_renting |
|------------|-------------|----------|--------|--------------|
| 552 | 28 | 56 | 1 | 2017-03-27 |
| 558 | 41 | 19 | 3 | 2019-01-13 |
| 444 | 120 | 59 | 3 | 2018-08-10 |
| 200 | 86 | 46 | 3 | 2018-08-26 |
| 234 | 104 | 28 | 4 | 2018-10-04 |
Classer les résultats d'une requête par évaluation, dans l'ordre décroissant.
SELECT *
FROM renting
WHERE rating IS NOT NULL
ORDER BY rating DESC;
| renting_id | customer_id | movie_id | rating | date_renting |
|------------|-------------|----------|--------|--------------|
| 243 | 7 | 5 | 10 | 2019-01-11 |
| 18 | 36 | 39 | 10 | 2019-03-20 |
| 396 | 7 | 40 | 10 | 2018-09-11 |
| 487 | 61 | 48 | 10 | 2017-08-14 |
| 476 | 78 | 42 | 10 | 2018-07-04 |
Prise de décision basée sur des données en SQL