WHERE 句

FROM 句で一覧されたテーブルから、SELECT、UPDATE、または DELETE ステートメントの影響を受けるレコードを指定します。

構文

SELECT fieldlist
FROM tableexpression
WHERE criteria

WHERE 句を使用する SELECT ステートメントには、次の指定項目があります。

引数

説明

fieldlist

取得する 1 つ以上のフィールドの名前。フィールド名の別名、選択述語 (ALL、DISTINCT、DISTINCTROW、および TOP)、または SELECT ステートメント オプションも指定できます。

tableexpression

データを取得するテーブルの名前です。

criteria

クエリ結果に含めるために、レコードが満たす必要がある式です。


解説

Microsoft Access データベース エンジンでは、WHERE 句に一覧された条件を満たすレコードを選択します。WHERE 句を指定しない場合、クエリではテーブルからすべての行が返されます。クエリで複数のテーブルを指定していて、WHERE 句または JOIN 句を含めていない場合は、クエリではテーブルの デカルト積を生成します。

WHERE は省略可能ですが、含まれる場合は、FROM が続きます。たとえば、営業部門の全従業員 (WHERE Dept = 'Sales') を選択したり、18 - 30 歳のすべての顧客 (WHERE Age Between 18 And 30) を選択したりすることができます。

複数のテーブルで SQL の参加操作を実行するために、JOIN 句を使用しない場合は、結果の Recordset オブジェクトを更新することはできません。

WHERE は HAVING と似ています。WHERE は選択するレコードを指定します。同様に、GROUP BY によってレコードをグループ化した後、HAVING は表示するレコードを指定します。

WHERE 句を使用して、GROUP BY 句でグループ化しないレコードを除去します。

さまざまな式を使用して、SQL ステートメントで返すレコードを決定します。たとえば、次の SQL ステートメントでは、給与が 21,000 ドル以上の従業員をすべて選択します。

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

WHERE 句には、ANDOR などの論理演算子を組み合わせて最大 40 個までの式を指定できます。

スペースや句読点を含むフィールド名を入力するときは、角かっこ ([ ]) で名前を囲みます。たとえば、顧客情報テーブルには、特定の顧客に関する情報が含まれる場合があります。

SELECT [Customer’s Favorite Restarant]

criteria 引数を指定する場合、米国版の Microsoft Access データベース エンジンを使用していない場合でも、日付リテラルを米国形式にする必要があります。たとえば、1996 年 5 月 10 日は、英国では 10/5/96 と記述され、米国では 5/10/96 と記述されます。次の例に示すように、日付リテラルはシャープ記号 (#) で囲んでください。

英国データベースの 1996 年 5 月 10 日のレコードを検索するには、次の SQL ステートメントを使用する必要があります。

SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;

また、Microsoft Windows® で確立された国際設定を認識する、DateValue 関数を使用することもできます。たとえば、米国には次のコードを使用します。

SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');

また、英国には次のコードを使用します。

SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');

注: 条件の文字列で参照される列が GUID 型の場合は、条件式は若干異なる構文を使用します。

WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}

上述のように、入れ子にしたかっこやハイフンを含めてください。



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

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

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

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

×