次の方法で共有


方法 : 行を含めたり除外したりする

SELECT クエリが返す行の数を制限するには、検索条件またはフィルター条件を作成します。 SQL では、ステートメントの WHERE 句、または集計クエリの作成中に HAVING 句で検索条件が表示されます。

注意

検索条件を使用して、UPDATE、INSERT RESULTS、INSERT VALUES、DELETE、MAKE TABLE の各クエリの対象となる行を表すこともできます。

クエリを実行すると、データベース エンジンが検索条件を調べて、検索中のテーブルの各行に適用します。 条件を満たす行は、クエリに加えられます。 たとえば、特定の地域の全従業員を検索する検索条件は、次のようになります。

region = 'UK'

結果に行を含めるための条件を設定する場合は、複数の検索条件を使用できます。 たとえば、次の検索条件は、2 つの検索条件で構成されています。 両方の条件を満たす行だけが、クエリの結果セットに含められます。

region = 'UK' AND product_line = 'Housewares'

検索条件は AND または OR で結合できます。 前の例では AND を使用しています。 一方、次に示す条件では OR が使われています。 結果セットには、いずれか一方または両方の検索条件を満たす行が含まれます。

region = 'UK' OR product_line = 'Housewares'

1 つの列に対する複数の検索条件を結合することもできます。 たとえば、次の検索条件では、region 列に対する 2 つの条件が結合されています。

region = 'UK' OR region = 'US'

検索条件の結合の詳細については、次のトピックを参照してください。

次に、さまざまな演算子と行抽出条件を使用したクエリの例を示します。

  • リテラル   単独のテキスト、数値、日付、または論理値です。 次の例では、リテラルを使って、英国内の従業員に関する行をすべて検索します。

    WHERE region = 'UK'
    
  • 列参照   ある列の値と別の列の値を比較します。 次の例では、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)
    

参照

その他の技術情報

クエリおよびビューのデザイン

検索基準の指定

パラメーターを使用したクエリの作成