次の方法で共有


1 つの列に複数の検索条件を指定する (Visual Database Tools)

適用対象:SQL Server

場合によっては、同じデータ列に複数の検索条件を適用することが必要な場合があります。 たとえば、次のようなことをしたいかもしれません:

  • employee テーブルで複数の異なる名前を検索するか、給与範囲が異なる従業員を検索します。 この種類の検索には、 OR 条件が必要です。

  • "The" という単語で始まり、"Cook" という単語が含まれている書籍のタイトルを検索します。この種類の検索には、 AND 条件が必要です。

手記

この記事の情報は、クエリの WHERE 句と HAVING 句の両方の検索条件に適用されます。 この例では、 WHERE 句の作成に重点を置きますが、原則は両方の種類の検索条件に適用されます。

同じデータ列で代替値を検索するには、 OR 条件を指定します。 複数の条件を満たす値を検索するには、 AND 条件を指定します。

OR 条件を指定する

OR条件を使用すると、列内で検索するいくつかの代替値を指定できます。 このオプションは、検索の範囲を拡張し、1 つの値を検索するよりも多くの行を返すことができます。

ヒント

多くの場合、IN 演算子を使用して、同じデータ列内の複数の値を検索できます。

  1. 抽出条件ペイン (Visual Database Tools) で、検索する列を追加します。

  2. 追加したデータ列の フィルター 列で、最初の条件を指定します。

  3. または同じデータ列の 列に対して、2 番目の条件を指定します。

クエリおよびビュー デザイナーは、次のようなWHERE条件を含むOR句を作成します。

SELECT fname,
       lname
FROM employees
WHERE (salary < 30000)
      OR (salary > 100000);

AND 条件を指定する

AND条件を使用すると、列の値が結果セットに含まれる行の 2 つ以上の条件を満たす必要があることを指定できます。 このオプションは、検索の範囲を絞り込み、通常は 1 つの値を検索するよりも少ない行を返します。

ヒント

値の範囲を検索する場合は、2 つの条件をBETWEENにリンクするのではなく、AND演算子を使用できます。

  1. 抽出条件ペインで、検索する列を追加します。

  2. 追加したデータ列の フィルター 列で、最初の条件を指定します。

  3. 同じデータ列をもう一度抽出条件ペインに追加し、グリッドの空の行に配置します。

  4. データ列の 2 番目のインスタンスの Filter 列で、2 番目の条件を指定します。

クエリ デザイナーは、次のようなWHERE条件を含むAND句を作成します。

SELECT title_id,
       title
FROM titles
WHERE (title LIKE '%Cook%')
      AND (title LIKE '%Recipe%');