Outils pour utilisateurs

Outils du site


cours:informatique:dev:db:postgres:fondamentaux_postgresql:210_clause_where

PostgreSQL WHERE

Notes et traduction du tutoriel PostgreSQL Tutorial

L'instruction SELECT retourne tous les enregistrements d'une ou plusieurs colonnes d'une table. Pour ne récupérer que les enregistrements vérifiant une condition, on utilise la clause WHERE.

SELECT
  select_list
FROM
  TABLE_NAME
WHERE
  condition
ORDER BY
  sort_expression;
  • La clause WHERE est placée juste après la clause FROM de l'instruction SELECT.
  • La clause WHERE utilise “condition” pour filter les enregistrements retournés par SELECT.
  • “condition” est une expression booléenne qui est évaluée à true, false ou unknow.
  • La requête retourne seulement les enregistrement qui statisfont la “condition” de la clause WHERE. Autrement dit, la requête ne retourne que les enregistrements pour lesquels “condition” est vraie.

PostgreSQL évalue la clause WHERE après la clause FROM mais avant les clauses SELECT et ORDER BY.

Pour cette raison, si des alias de colonnes sont définis dans SELECT, il ne sont pas utilisables dans la clause WHERE.

En plus de l'instruction SELECT, la clause WHERE peut être utilisée dans les instructions UPDATE et DELETE pour spécifier les enregistrement à mettre à jour ou supprimer.

Pour établir la condition de la clause WHERE, les opérateurs logiques et de comparaison sont disponibles :

Operator Description
= égalité
> supérieur à
< inférieur à
>= supérieur ou égal à
inférieur ou égal à
<> ou != différent de
AND ET logique
OR OU logique
IN retourne vrai si la valeur est contenue dans la liste
BETWEEN retourne vrai si la valeur est dans l'intervalle
LIKE retourne vrai si la valeur correspond au motif
IS NULL retourne vrai si la valeur est NULL
NOT NON logique
SELECT
  last_name,
  first_name
FROM
  customer
WHERE
  first_name = 'Jamie';
 
-- Récupérer des enregistrement parmi un ensemble de valeurs possibles
SELECT
  first_name,
  last_name
FROM
  customer
WHERE
  first_name IN ('Ann', 'Anne', 'Annie');
 
-- Récupérer les enregistrement correspondant à un motif
SELECT
  first_name,
  last_name
FROM
  customer
WHERE
  first_name LIKE 'Ann%';
 
-- Récupérer les enregistrements dont une valeur est dans un intervalle
SELECT
  first_name,
  LENGTH(first_name) AS name_length
FROM
  customer
WHERE
  first_name LIKE 'A%'
  AND LENGTH(first_name) BETWEEN 3 AND 5
ORDER BY
  name_length;

Résumé

  • Utiliser la clause WHERE dans l'instruction SELECT pour filtrer les enregistrements selon une ou plusieurs conditions.

◁ Précédent | ⌂ Retour au sommaire | Suivant ▷

cours/informatique/dev/db/postgres/fondamentaux_postgresql/210_clause_where.txt · Dernière modification : 2025/04/06 12:41 de yoann