クエリは、テーブル レコードとフィーチャのサブセットを選択するために使用されます。ArcGIS Pro のすべてのクエリ式では、SQL (Structured Query Language) を使用して、検索の詳細を設定します。
クエリを構築するには、検索条件設定を使用します。検索条件設定は、次のような多くの場所にあります。
- [属性検索 (Select Layer By Attribute)] ジオプロセシング ツールで、属性でフィーチャを選択する
- レイヤーまたはスタンドアロン テーブルのフィルター設定を設定する
- レイヤーの表示フィルターを設定する
- レポートを作成する
クエリの構築
SQL 構文を入力して、クエリをネイティブに作成するか、コンポーネントを選択して、対話的にクエリを構築できます。SQL 構文を作成すると、すべての SQL 機能にアクセスできます。SQL 構文でクエリを作成するには、[SQL] 切り替えボタンをクリックして、SQL モードに切り替えます。
クエリの対話的構築
検索条件設定のデフォルト モードでクエリを構築するには、選択したフィールド タイプに基づいて設定され、あらかじめフィルターが適用されているドロップダウン メニューから選択します。このモードでの操作には、次のようなメリットがあります。
- データ ソースに関係なく、有効な SQL クエリを構築できます。
- 事前に SQL の知識がなくても、一般的なクエリを構築できます。
- 選択したフィールド タイプに基づいて、条件演算子がフィルタリングされます。
- グループ化を適用して、容易に演算の順序を変えることができます。
このモードは、文字列、数値、日付フィールドに対するクエリ構築には適していますが、作成できるクエリの種類には制限があります。制限のないクエリを作成するには、[SQL] モードを使用します。インタラクティブ モードで項目の構築を開始し、[SQL] 切り替えボタンをクリックして、ネイティブ SQL 構文で項目を表示できます。これをもとに、必要に応じて項目に改良を加えていきます。ただし、インタラクティブ モードでサポートされていない SQL 構文を追加すると、その後そのモードに戻せなくなることもあるので注意が必要です。
インタラクティブ モードでの操作の詳細については、「クエリの構築および変更」をご参照ください。
SQL 構文の作成によるクエリの構築
SQL 構文の作成に慣れている場合は、[SQL] モードによるクエリの構築と管理の方がやりやすいかもしれません。[SQL] 切り替えボタンをクリックして、SQL モードに切り替えます。[SQL] モードでの操作には、次のようなメリットがあります。
- 制限なくクエリを作成できます。
- オートコンプリート機能を活用できます。入力するとプロンプトが開き、データ ソースがサポートするキーワードや演算子だけが表示されます。
- カラー コード エレメントにより、クエリを視覚的に確認または変更できます。
SQL 構文
[SQL] モードでは、データソースが返すべきレコードを認識できるように、クエリの作成時には、正しい SQL 構文を使用する必要があります。特殊文字でフィールドを区切る必要はありません。SQL クエリの作成の詳細については、「SQL リファレンス ガイド」をご参照ください。
単純なクエリでも、複合クエリでも作成できます。
単純なクエリには、STATE_NAME = 'Alabama' のように、1 つの項目だけが含まれます。このクエリでは、Alabama フィールドで STATE_NAME というテキストを含むすべてのフィーチャが選択されます。
複合クエリは、論理演算子 AND または OR で接続された複数の項目で構成されます。複合クエリの句に括弧を使用して、演算の順序を定義することもできます。
たとえば、STATE_NAME = 'Alabama' OR (STATE_NAME = 'Wyoming' AND POP2000 > 10000) は Alabama フィールドに STATE_NAME を含むすべてのフィーチャ、Wyoming フィールドに STATE_NAME を含むすべてのフィーチャ、10,000 というフィールドで値が POP2000 よりも大きいすべてのフィーチャを選択します。
データベースの操作を頻繁に行っているユーザーの場合、すでに SQL を使用する機会が多くあるため、SELECT ステートメントと WHERE 句の使用に慣れているかもしれません。
- SELECT ステートメントは、レイヤーまたはテーブルからフィールドを選択する場合に使用します。
- WHERE 句は、特定の条件に一致するレコードを取得する場合に使用します。
WHERE 句を指定して、クエリでどの条件が重要であるかを決定します。検索条件設定を使用する場合は、サブクエリを含めるときに、WHERE 項目のみを指定します。サブクエリとは、別のクエリの中にネストされているクエリのことです。
使用する SQL 構文は、データ ソースによって異なります。各データベース管理システム (DBMS) には、独自の SQL 言語があります。ファイル ジオデータベース、シェープファイル、dBASE テーブル、CAD データ、VPF データなどのファイルベースのデータを検索するには、SQL の機能のサブセットをサポートする ArcGIS の SQL 言語を使用します。エンタープライズ ジオデータベースにアクセスしたり、検索したりする場合は、基本データベース管理システム (DBMS) の SQL 構文を使用する必要があります。