Access SQL: WHERE 句

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

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

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

この記事の内容

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

WHERE 句の構文

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

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

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

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

抽出条件

説明

>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 句で使用する方法の詳細については、「クエリの抽出条件の例」を参照してください。

ページの先頭へ

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×