Filtre et tri

Prise de décision basée sur des données en SQL

Tim Verdonck

Professor Statistics and Data Science

WHERE

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        |
Prise de décision basée sur des données en SQL

Opérateurs dans la clause WHERE

  • Opérateurs de comparaison :
    • Égal =
    • Non égal <>
    • Inférieur à <
    • Inférieur ou égal à <=
    • Supérieur à >
    • Supérieur ou égal >=
  • Opérateur BETWEEN
  • Opérateur IN
  • Opérateurs IS NULL et IS NOT NULL
Prise de décision basée sur des données en SQL

Exemple d'opérateurs de comparaison

Sé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;
Prise de décision basée sur des données en SQL

Exemple : opérateur BETWEEN

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';
Prise de décision basée sur des données en SQL

Exemple : opérateur IN

Sélectionner tous les acteurs de nationalité américaine ou australienne.

SELECT *
FROM actors
WHERE nationality IN ('USA', 'Australia')
Prise de décision basée sur des données en SQL

Exemple : opérateur NULL

Sélectionner toutes les colonnes de rentingrating correspond à NULL.

SELECT *
FROM renting
WHERE rating IS NULL

Sélectionner toutes les colonnes de rentingrating n'est pas égal à NULL.

SELECT *
FROM renting
WHERE rating IS NOT NULL
Prise de décision basée sur des données en SQL

Opérateurs booléens AND

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         |
Prise de décision basée sur des données en SQL

Opérateurs booléens OR

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         |
| ...                   | ...     | ...                |
Prise de décision basée sur des données en SQL

ORDER BY

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   |
Prise de décision basée sur des données en SQL

ORDER BY ... DESC

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

Passons à la pratique !

Prise de décision basée sur des données en SQL

Preparing Video For Download...