Query – les conditions
WHERE
Dans une requête, le mot-clé WHERE est utilisé pour ajouter une ou plusieurs conditions.
Par exemple, la requête SELECT * WHERE D = E
signifie littéralement :
« SÉLECTIONNER les données de toutes les colonnes LORSQUE la valeur de la colonne D est égale à la valeur de la colonne E »
Ajouter une condition
Entrez WHERE suivi de la condition.
Par exemple pour sélectionner toutes les lignes (*) dont le rang (colonne D) = 0, entrez :
=QUERY(BD!A1:G15;"SELECT * WHERE D = 0")
Dans ce cas, tous les rangs (colonne D) seront forcément à 0 puisqu’il s’agit de la condition, il n’est donc pas forcément utile d’afficher cette colonne dans les résultats.
Pour éviter d’afficher la colonne D, entrez les autres colonnes (au lieu de *) :
=QUERY(BD!A1:G15;"SELECT A, B, C, E, F, G WHERE D = 0")
Ajouter plusieurs conditions
Lorsque la requête contient plusieurs conditions, ajoutez des AND (et) ou OR (ou) entre les conditions.
Pour sélectionner toutes les lignes (*) dont le rang (colonne D) = 0 ET le nombre de messages (colonne E) = 0, entrez :
=QUERY(BD!A1:G15;"SELECT * WHERE D = 0 AND E = 0")
Il est également possible d’ajouter des parenthèses aux conditions.
Par exemple, pour afficher les mêmes résultats que précédemment mais en affichant aussi tout utilisateur dont le nom est « Roger », entrez :
=QUERY(BD!A1:G15;"SELECT * WHERE (D = 0 AND E = 0) OR C = 'Roger'")
Les valeurs de type texte (comme ici « Roger ») doivent être placées entre apostrophes.
Utiliser des opérateurs
Il est également possible d’utiliser les opérateurs + – * / % dans une requête (% = modulo, cet opérateur renvoie le reste d’une division).
Par exemple, pour afficher l’ID (A), le nom d’utilisateur (C) et le nombre de messages (E) multiplié par 2, mais seulement pour une ligne sur deux, entrez :
=QUERY(BD!A1:G15;"SELECT A, C, E * 2 WHERE A % 2 = 0")