適用対象:SQL Server
SELECT クエリで返される行数を制限するには、検索条件またはフィルター条件を作成します。 SQL では、検索条件はステートメントの WHERE 句、または集計クエリを作成する場合は HAVING 句に表示されます。
手記
検索条件を使用して、更新、結果の挿入、値の挿入、削除、またはテーブル作成クエリの影響を受ける行を指定することもできます。
クエリが実行されると、データベース エンジンは検索条件を調べて、検索するテーブルの各行に適用します。 行が条件を満たしている場合は、クエリに含まれます。 たとえば、特定の地域のすべての従業員を検索する検索条件は次のようになります。
region = 'UK'
結果に行を含める条件を確立するには、複数の検索条件を使用できます。 たとえば、次の検索条件は 2 つの検索条件で構成されます。 クエリには、その行が両方の条件を満たす場合にのみ、結果セットに行が含まれます。
region = 'UK' AND product_line = 'Housewares'
これらの条件は AND または OR と組み合わせることができます。 前の例では AND を使用しています。 これに対し、次の条件では OR が使用されます。 結果セットには、検索条件のいずれかまたは両方を満たす行が含まれます。
region = 'UK' OR product_line = 'Housewares'
1 つの列に検索条件を組み合わせることもできます。 たとえば、次の条件は、リージョン列の 2 つの条件を結合します。
region = 'UK' OR region = 'US'
検索条件の組み合わせの詳細については、次のトピックを参照してください。
抽出条件ペインの検索条件を結合するための 規則 (Visual Database Tools)
AND に優先順位がある場合に条件を結合する (Visual Database Tools)
OR に優先順位がある場合に条件を結合する (Visual Database Tools)
例
さまざまな演算子と行条件を使用するクエリの例を次に示します。
リテラル 1 つのテキスト、数値、日付、または論理値です。 次の例では、リテラルを使用して、英国の従業員のすべての行を検索します。
WHERE region = 'UK'
列参照 1 つの列の値と別の列の値を比較します。 次の例では、生産コストの値が出荷コストより低いすべての行を対象に、
products
テーブルを検索します。WHERE prod_cost < ship_cost
関数 データベース バックエンドが検索の値を計算するために解決できる関数への参照です。 この関数には、データベース サーバーによって定義された関数、またはスカラー値を返すユーザー定義関数を指定できます。 次の例では、現在の注文を検索します (GETDATE( ) 関数は現在の日付を返します。
WHERE order_date = GETDATE()
NULL 次の例では、ファイルに名が登録されているすべての著者を
authors
テーブルで検索します。WHERE au_fname IS NOT NULL
計算 リテラル、列参照、またはその他の式を含むことができる計算の結果です。 次の例では、
products
テーブルを検索して、小売販売価格が生産コストの 2 倍以上であるすべての行を検索します。WHERE sales_price > (prod_cost * 2)
関連項目
クエリとビューの設計方法に関するトピック (Visual Database Tools)
検索条件の指定 (Visual Database Tools)
パラメーター付きクエリ (Visual Database Tools)