Sélection par expression
Il existe 2 façons d'accéder à la sélection par expression
Méthode : 1ère méthode
Cliquer sur la couche dans le panneau contrôle des couches pour la rendre active
Dans la barre d'outils Attributs, cliquer sur le bouton ε (epsilon) [Sélectionne les entités en utilisant une expression] :


Méthode : 2ème méthode
La boîte de dialogue Sélection par expression se présente comme suit :

La boîte de dialogue Sélection par expression (qui est très proche du calculateur de champs) est composée des zones suivantes :
1 Liste des fonctions
Un vaste choix est offert, dont :
Opérateurs booléens, arithmétiques,
Branchements conditionnels,
Fonctions mathématiques, de conversion de format, de date
Fonctions de traitement de chaînes de caractères,
Fonctions de géométrie (opérateurs spatiaux et géotraitement),
Fonctions d'information sur les enregistrements de la table attributaire, et de gestion des champs de la table attributaire et des valeurs des champs pour les entités de la couche
L'ensemble des fonctions offertes est donc le même que pour la calculatrice de champ qui est présentée dans la formation 'perfectionnement'.
Une aide dans la boite de dialogue donne la syntaxe d'utilisation des fonctions.
Remarque :
Parmi les opérateurs logiques proposés il y a par exemple le IN :
‘'Nom_du_champ'' IN (valeur1 , valeur2, valeur3)
2 Cadre Opérateurs
Quelques opérateurs principaux utilisés le plus couramment dans les requêtes ainsi que les parenthèses ouvrante et fermante figurent sous forme de boutons à cliquer. Pour ajouter un opérateur ou une parenthèse à la requête, cliquez sur le bouton correspondant.
Remarque :
Les opérateurs peuvent aussi être choisis en double-cliquant dans la section Opérateurs de la liste des fonctions
3 Cadre Expression
Ce cadre contient l'expression littérale de la sélection.
4 Menu déroulant Sélection


Pour commencer, nous utiliserons le premier item du menu déroulant, la Sélection
Les autres choix possibles seront présentés un peu plus loin.
Une 5ème zone n'apparaît pas à ce stade, mais est activée lorsqu'on clique sur un champ dans le cadre Liste de fonctions :

5 Cadre Valeurs du champ sélectionné
Comme dans le constructeur de requête, ce cadre permet de lister tout ou partie des valeurs (attributs) du champ sélectionné précédemment.
Pour afficher toutes les valeurs qui existent dans le champ (dans la colonne de la table attributaire) cliquer sur le bouton ‘Toutes'' en dessous du cadre.
Exemple :
Reprenons l'exemple précédent où nous souhaitions sélectionner les communes du canton de MALICORNE-SUR-SARTHE dans la couche COMMUNE (BD_TOPO/H_ADMINISTRATIF)
L'enchaînement des opérations est identique :
A Choix du champ
Dans le cadre Liste des fonctions, dans la branche Champs et valeurs, double-cliquer sur le champ CANTON.
La chaîne de caractères CANTON est écrite (en couleur) dans le cadre expression, entourée de guillemets :

2 Choix de l'opérateur
Cliquer sur le bouton = dans le cadre Opérateurs.
L'opérateur = apparaît dans le cadre expression, entouré par des espaces :

3 Choix de la valeur
Après avoir cliqué sur le bouton ‘Toutes' pour afficher toutes les valeurs dans le cadre Valeurs de champs, double-cliquer sur 'MALICORNE-SUR-SARTHE'.

Remarque
Dans la sélection par expression, les valeurs sont affichées entourées de simples quotes , ce n'est pas le cas dans le constructeur de requête.
La chaîne de caractères est écrite dans le cadre expression avec une couleur particulière, ce qui facilite la lecture de l'expression (les couleurs permettent de distinguer les champs, les opérateurs et les valeurs.

Un clic sur le bouton Sélection et les entités sélectionnées apparaissent en jaune dans la carte :

Les autres entités de la couche sont toujours apparentes, contrairement à ce qui se passe avec le constructeur de requête.
Dans la table attributaire aussi, toutes les entités de la couche sont affichées et les entités sélectionnées apparaissent en surbrillance :

Pour enregistrer les entités sélectionnées comme une nouvelle couche, faire un clic droit sur la couche et cliquer sur “Exporter > Sauvegarder les entités sélectionnées sous...”
Pour déselectionner les entités, cliquer sur le bouton ‘Déselectionner toutes les entités' dans la barre d'outils attributs ou dans la table attributaire :


Remarque :
La sélection par expression n'est pas sauvegardée en enregistrant le projet.
Cependant, une fois exécutée, elle est enregistrée dans le cadre ‘Liste des fonctions' de la boîte de dialogue ‘Sélection par expression', dans le répertoire ‘Récent (Selection)' . Un double-clic sur la requête enregistrée et l'expression est affichée dans le cadre Expression.
Menu déroulant sélection dans la sélection par expression


Ce menu propose en plus de la sélection les actions suivantes :
Enlever, Ajouter la sélection :
Permet d'ajouter ou d'enlever une autre sélection réalisée après une première sélection.
Par exemple si l'on a d'abord sélectionné les communes du canton de Malicorne-sur-Sarthe, il est possible de désélectionner celles qui ont moins de 500 habitants (‘'POPUL" < 500) :

Les communes de Bousse et de Ligron ne sont plus sélectionnées car elles ont moins de 500 habitants.
On peut les rajouter à la sélection en cliquant sur 'Ajouter à la sélection actuelle'
Filtrer la sélection courante
A l'inverse, on peut sélectionner les communes de moins de 500 habitants du canton de Malicorne-sur-Sarthe en filtrant la sélection préalable :

Les communes de Bousse et de Ligron sont sélectionnées parmi celles du canton de Malicorne-sur-Sarthe car elles ont moins de 500 habitants.
Il est possible de remplacer cet enchaînement de 2 sélections consécutives par une seule sélection conjuguant les deux précédentes en une seule expression.
Le tableau ci-dessous présente une synthèse utile à la compréhension des filtres et sélections attributaires dans QGIS :

Complément :
Sélectionner / filtrer les entités en utilisant le formulaire de la table attributaire.
Il est possible de sélectionner des entités répondant à un ou des critères attributaires simples avec le bouton de la barre d'outils de la fenêtre attributaire.
Quand ce bouton est actif, il est possible de donner des critères de sélection avec un 'opérateur' à choisir dans le menu déroulant en face de chaque champs :
La liste des 'opérateurs' varie selon le type de champs (alphanumérique, entier, réel...). Les opérateurs 'Commence par' et 'se termine par' ne sont disponible que depuis QGIS 3.0.
Exemple pour choisir "Les communes du canton de MALICORNE-SUR-SARTHE dont la population est inférieure à 500 habitants", on commence à entrer le nom et la liste des valeurs correspondantes apparaît :
On peut ensuite choisir de sélectionner les entités répondant à ce critère avec le bouton 'sélectionner les entités', puis le cas échéant faire un zoom sur la sélection avec le bouton
ou Filtrer les entités, ce qui filtre l'affichage dans la table attributaire :
On remarquera que l'opération a générée automatiquement un filtre que l'on aurait pu créer par une expression (filtre avancé).
Cette méthode est plus simple à appréhender pour des utilisateurs occasionnels que la sélection par expression.