Filtrer et trier

Prise de décision fondée sur les données avec SQL

Tim Verdonck

Professor Statistics and Data Science

WHERE

Sélectionner tous les clients d'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 fondée sur les données avec SQL

Opérateurs dans la clause WHERE

  • Opérateurs de comparaison :
    • Égal =
    • Différent <>
    • 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 fondée sur les données avec SQL

Exemples d'opérateurs de comparaison

Sélectionner toutes les colonnes de movies dont le genre n'est pas Drama.

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 fondée sur les données avec SQL

Exemple : opérateur BETWEEN

Sélectionner toutes les colonnes de customers dont la date de création du compte est entre 2018-01-01 et 2018-09-30.

SELECT *
FROM customers
WHERE date_account_start BETWEEN '2018-01-01' AND '2018-09-30';
Prise de décision fondée sur les données avec SQL

Exemple : opérateur IN

Sélectionner tous les acteurs de nationalité USA ou Australia.

SELECT *
FROM actors
WHERE nationality IN ('USA', 'Australia')
Prise de décision fondée sur les données avec SQL

Exemple : opérateur NULL

Sélectionner toutes les colonnes de rentingrating est NULL.

SELECT *
FROM renting
WHERE rating IS NULL

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

SELECT *
FROM renting
WHERE rating IS NOT NULL
Prise de décision fondée sur les données avec SQL

Opérateurs booléens AND

Sélectionner le nom du client et la date de création du compte pour les clients provenant d'Italy _ET_ qui ont créé un compte entre 2018-01-01 et 2018-09-30.


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 fondée sur les données avec SQL

Opérateurs booléens OR

Sélectionner le nom du client et la date de création du compte pour les clients provenant d'Italy _OU_ qui ont créé un compte entre 2018-01-01 et 2018-09-30.

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 fondée sur les données avec SQL

ORDER BY

Trier les résultats d'une requête par cote.

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 fondée sur les données avec SQL

ORDER BY ... DESC

Trier les résultats d'une requête par cote, en 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 fondée sur les données avec SQL

Passons à la pratique !

Prise de décision fondée sur les données avec SQL

Preparing Video For Download...