Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

これは Access SQL に関する一連の記事の 1 つです。 この記事では、WHERE 句を記述する方法について説明し、例を使用して WHERE 句を記述するときに使用できるさまざまな手法を示します。

SQL ステートメントにおいて、WHERE 句は、特定の値が格納されたレコードをクエリ結果に含めるためにフィールド値が満たす必要のある抽出条件を指定します。

Access SQL の概要については、「Access SQL: 基本的な概念、用語、および構文」の記事を参照してください。

この記事の内容

抽出条件を使用して結果を制限する

クエリに返されるレコードの数をデータを使用して制限するには、抽出条件を使用できます。 クエリ抽出条件は、フィールド参照、演算子、および定数で構成される、数式に似た文字列です。 クエリ抽出条件は式の一種です。

次の表は、抽出条件の例と、その動作について説明します。

抽出条件

説明

>25 and <50

"価格" や "UnitsInStock" などの "数値型" フィールドに適用されます。 この抽出条件を適用すると、"価格" や "UnitsInStock" のフィールドに 25 より大きく 50 より小さい値が含まれるレコードのみが含まれます。

DateDiff ("yyyy", [生年月日], Date()) > 30

生年月日などの "日付/時刻型" フィールドに適用されます。 クエリ結果には、ある人の誕生日と今日の日付の間の年数が 30 を超えるレコードのみが含まれます。

Is Null

フィールド値が null のレコードが表示されるフィールドの種類に適用できます。

前の表に示すように、条件が適用されるフィールドのデータ型と特定の要件に応じて、条件が互いに大きく異なって見える場合があります。 基本的な演算子と定数を使用する単純な抽出条件もあれば、 その他は複雑で、関数と特殊な演算子を使用し、フィールド参照を含めます。

重要: あるフィールドを集計関数で使用する場合、WHERE 句でそのフィールドに対する抽出条件は指定できません。 代わりに、HAVING 句を使用して、集計されたフィールドに対して抽出条件を指定します。 詳細については、「Access SQL: 基本的な概念、用語、および構文」および「HAVING 句」を参照してください。

WHERE 句の構文

クエリ抽出条件は、SELECT ステートメントの WHERE 句で使用します。

WHERE 句の基本的な構文は次のとおりです。

WHERE field = criterion

たとえば、顧客の電話番号を知りたいのに、顧客の姓の "小川" しか思い出せないとします。 データベースのすべての電話番号を調べる代わりに、WHERE 句を使用して結果を制限すると、目的の電話番号を簡単に見つけることができます。 姓が "姓" という名前のフィールドに格納されていると仮定すると、WHERE 句は次のようになります。

WHERE [LastName]='Bagel'

注: WHERE 句で使用できる抽出条件は、等しい値に対する条件だけではありません。 より大きい (>)、より小さい (<) など、他の比較演算子も使用できます。 たとえば、WHERE [価格]>100 のように指定できます。

WHERE 句を使用してデータ ソースを組み合わせる

データは一致するものの、データ型が異なるフィールドに基づいてデータ ソースを比較する場合があります。 たとえば、あるテーブルのフィールドが数値データ型で、そのフィールドと、テキスト データ型の別のテーブルのフィールドと比較する場合があります。

データ型が異なるフィールド間には結合を作成できません。 データ型が異なるフィールドの値に基づいて 2 つのデータ ソースのデータを組み合わせるには、LIKE キーワードを使用して、一方のフィールドをもう一方のフィールドの抽出条件として使用する WHERE 句を作成します。

たとえば、field1 (table1 のテキスト フィールド) のデータが field2 (table2 の数値フィールド) のデータと一致する場合にのみ、table1 と table2 のデータを使用するとします。 WHERE 句は次のようになります。

WHERE field1 LIKE field2

抽出条件を作成して WHERE 句で使用する方法の詳細については、「クエリの抽出条件の例」を参照してください。

ページの先頭へ

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。