QGISのフィルタ操作で使用する主な演算子の働きを、実行例を使って説明します。

フィルタ操作時に使用するクエリビルダウインドウの「演算子」パネルには、フィルタ操作で使用できる主な演算子が並んでいます。それらの解説です。

フィルタ操作とは? 
ベクタデータの地物を特定の条件で抽出する操作です。 
フィルタ操作をするには? 
ベクタデータのレイヤ名を右クリックしてでてくるメニューにある「フィルタ」を選択します。 
条件の設定方法は? 
「フィルタ」を選択すると出現するクエリビルダウインドウでフィルタ式(条件式)を入力することで、フィルタ(抽出)する条件を設定できます。

フィルタ式(条件式)の基本的なルール

フィルタ式(条件式)は、フィールド名、演算子、属性値、数値など使用して作成します。
最も基本的な書き方のルールは、以下のとおりです。

"フィールド名" 演算子 '条件'

フィールド名は「ダブルクォーテーション(”)」で囲んで記載します。
条件部分は、文字列の場合は「シングルクォーテーション(’)」、数値の場合はそのまま記載します。

GeoPackage形式とShapeファイル形式で挙動が異なります。
以下は全てShapeファイル形式の挙動を基本とし、GeoPackage形式で異なる挙動をする場合は注釈で記載しています。

クエリビルダの演算子の効果一覧

架空のメッシュを使用して説明します。
このメッシュにはnameフィールドに「地名」、KEYフィールドに「連番」が記録されています。

各演算子を使って様々な条件でメッシュを抽出してみます。

trygis020 01 全て min
このメッシュデータを各演算子を使用して抽出します

=

条件と一致するデータを抽出します。
アルファベットの場合、大文字と小文字が区別されません。

<条件式の例1>

"name" = '中央通り'

nameフィールドの属性が「中央通り」であるデータを抽出する場合

<結果の例1>
「中央通り」

trygis020 02 1 min
地名が「中央通り」のメッシュが抽出された

<条件式の例2>

"name" = 'AA町'

nameフィールドの属性が「AA町」であるデータを抽出する場合。大文字と小文字が区別されないので、「aa町」や「Aa町」も抽出される。

<結果の例2>
aa町、AA町など

trygis020 02 2 min
地名が「aa町」、「AA町」などのメッシュが抽出された
※GeoPackage形式の場合は大文字と小文字が区別される
※GeoPackage形式の場合は「AA町」のみが抽出される

<条件式の例3>

"KEY" = 5

KEYフィールドの属性が「5」であるデータを抽出する場合。条件が数字の場合は、シングルクォーテーションで囲わず直接入力する。

<結果の例3>
「5」

trygis020 03 2 min
連番が「5」のメッシュが抽出された。※ラベル表示はKEYフィールド

LIKE

条件と部分一致するデータを抽出します。
条件部分にはワイルドカードを使用します。QGISで使用するワイルドカードは「%」と「_」があります。「%」は文字数問わず効果があり、「_」は文字数分入力する必要があります。

ワイルドカードの例 
_町:あ町、A町 
__町:ああ町、AA町 
%町:あ町、ああ町、AAA町

<条件式の例1>

"name" LIKE '%町'

nameフィールドの属性値が「町」で終わるデータを抽出する場合。「町」の前は何文字でも良い。「%」は0文字以上を意味するため「町」で始まるデータも抽出される。

<結果の例1>
ああ町、あいう町、aa町など

trygis020 04 LIKE 1 min
地名の最後に「町」がつくメッシュが抽出された

<条件式の例2>

"name" LIKE '%町%'

nameフィールドの属性値の途中に「町」が入っているデータを抽出する場合。「町」の前後は何文字でも良い。「%」は0文字以上を意味するため「町」で終わるデータも抽出される。

<結果の例2>
A町1丁目、あああ町など

trygis020 05 LIKE 2 min
地名のどこかに「町」がつくメッシュが抽出された

<条件式の例3>

"name" LIKE '_町'

nameフィールドの属性値が「町」で終わるデータを抽出する場合。アンダーバーが1つの場合は、「町」の前の文字が半角1文字のデータが抽出される。

<結果の例3>
A町、B町、a町

trygis020 06 LIKE 3 min
地名の最後に「町」がつき、町の前の文字が半角1文字であるメッシュが抽出された
※GeoPackage形式の場合は半角、全角問わず1文字のみ 
※GeoPackage形式の場合は「あ町」や「い町」なども抽出される

<条件式の例4>

"name" LIKE '__町'

nameフィールドの属性値が「町」で終わるデータを抽出する場合。アンダーバーが2つの場合は、「町」の前の文字が半角2文字のデータが抽出される。

<結果の例4>
aa町、AA町など

trygis020 07 LIKE 4 min
地名の最後に「町」がつき、町の前の文字が半角2文字であるメッシュが抽出された
※GeoPackage形式の場合は半角、全角問わず2文字のみ 
※GeoPackage形式の場合は「ああ町」や「いい町」なども抽出される
備考
Shapeファイルの場合、アンダーバーを3つ入れて初めて全角1文字がヒットします。

<条件式の例5>

"name" LIKE 'aa%'

nameフィールドの属性値が「aa」で始まるデータを抽出する場合。

<結果の例5>
aa町、aa丘、aaa町など

trygis020 08 LIKE 5 min
地名が「aa」で始まるメッシュが抽出された
※GeoPackage形式の場合は大文字と小文字が区別されない 
※GeoPackage形式の場合は「AA町」や「Aa町」なども抽出される

ILIKE

LIKEと同様に部分一致の条件で抽出します。LIKEと異なり大文字と小文字が区別されません

<条件式の例>

"name" ILIKE 'aa%'

nameフィールドの属性値が「aa」で始まるデータを抽出する場合。大文字と小文字が区別されないので「AA」や「aA」で始まるデータも抽出される。

<結果の例>
Aa町、AA丘、AAA町など

trygis020 09 ILIKE min
地名が「AA」や「Aa」などで始まるメッシュが抽出された
※GeoPackage形式の場合はエラーが出て使用できない

IN

()内の属性値が含まれるデータを抽出します。大文字と小文字が区別されません。

<条件式の例>

"name" IN ('あ町','A町')

<結果の例>
あ町、A町、a町

nameフィールドの属性値が「あ町」か「A町」であるデータを抽出する場合。

trygis020 10 IN min
地名が「あ町」と「A町」のメッシュが抽出された。大文字と小文字が区別されないので「a町」も抽出されている。
※GeoPackage形式の場合は大文字と小文字が区別される 
※GeoPackage形式の場合は「あ町」と「A町」のみが抽出される

NOT IN

()内の属性値以外が含まれるデータを抽出します。大文字と小文字が区別されません。

<条件式の例>

"name" NOT IN ('あ町','A町')

nameフィールドの属性値が「あ町」か「A町」ではないデータを抽出する場合。

<結果の例>
「あ町」、「A町」、「a町」以外の全て

trygis020 11 NOT IN min
地名が「あ町」「A町」、「a町」以外のメッシュが抽出された
※GeoPackage形式の場合は大文字と小文字が区別される 
※GeoPackage形式の場合は「あ町」と「A町」以外が抽出される

AND

複数の条件式に一致するデータを抽出します。

<条件式の例>

"name" LIKE '%町%' AND "name" LIKE '%丁目'

nameフィールドの属性値のどこかに「町」が入っており、さらに「丁目」で終わるデータを抽出する場合。

<結果の例>
「A町1丁目」、「B町2丁目」など

trygis020 12 AND min
「町」が入り「丁目」で終わるメッシュが抽出された

OR

複数の条件式のうちどれかに一致するデータを抽出します。

<条件式の例>

"name" LIKE '%町%' OR "name" LIKE '%丁目'

nameフィールドの属性値のどこかに「町」が入っているか、もしくは「丁目」で終わっているデータを抽出する場合。

<結果の例>
「あ町」、「A丘2丁目」など

trygis020 13 OR min
「町」が入るか「丁目」で終わるメッシュが抽出された

NOT

条件式に一致しないデータを抽出します。

<条件式の例>

NOT "name" LIKE '%町%'

nameフィールドの属性値に「町」が入っていないデータを抽出する場合。

<結果の例>
「中央通り」、「公園北」など

trygis020 14 NOT min
「町」が入らないメッシュが抽出された

!=

等しくないデータを抽出します。

<条件式の例>

"name" != '中央通り'

nameフィールドの属性値が「中央通り」ではないデータを抽出する場合。

<結果の例>
「A町」、「A丘1丁目」、「公園通り」など地名が「中央通り」ではないすべてのメッシュ

trygis020 15 min
「中央通り」以外のメッシュが抽出された

<、>、<=、>=

数学記号そのままの意味です。
左から「より小さい」、「より大きい」、「以下」、「以上」を抽出します。
実行例は割愛します。