次の方法で共有


OR に優先順位がある場合の条件の結合 (Visual Database Tools)

適用対象:SQL Server

OR を使用して条件をリンクし、AND でリンクされた条件よりも優先順位を付けるためには、OR 条件ごとに AND 条件を繰り返す必要があります。

たとえば、会社に 5 年以上勤務していて、低いレベルの仕事を持っている、または退職したすべての従業員を見つけるとします。 このクエリには、次の 3 つの条件が必要です。1 つの条件が AND を持つ 2 つの追加条件にリンクされています。

  • 5 年前より前の採用日を持つ従業員と、

  • ジョブ レベルが 100 の従業員、またはステータスが "R" (退職の場合) の従業員。

次の手順は、[抽出条件] ペインでこの種類のクエリを作成する方法を示しています。

OR に優先順位がある場合に条件を結合するには

  1. 抽出条件ペインで、検索するデータ列を追加します。 AND にリンクされた 2 つ以上の条件を使用して同じ列を検索する場合は、検索する値ごとにデータ列名をグリッドに 1 回追加する必要があります。

  2. OR にリンクする条件を作成するには、最初の条件を Filter グリッド列に入力し、2 番目の条件 (およびそれ以降の条件) を別の Or に入力します。 列。 たとえば、job_lvl 列と status 列を検索する OR を使用して条件をリンクするには、[= 100 します。

    これらの値をグリッドに入力すると、SQL ペインのステートメントに次の WHERE 句が生成されます。

    WHERE (job_lvl = 100) OR (status = 'R')  
    
  3. OR 条件ごとに 1 回入力して、AND 条件を作成します。 各エントリを、対応する OR 条件と同じグリッド列に配置します。 たとえば、hire_date 列を検索し、両方の OR 条件に適用する AND 条件を追加するには、< '1/1/91' を抽出条件列と または 列の両方に入力します。

    これらの値をグリッドに入力すると、SQL ペインのステートメントに次の WHERE 句が生成されます。

    WHERE (job_lvl = 100) AND   
      (hire_date < '01/01/91' ) OR  
      (status = 'R') AND   
      (hire_date < '01/01/91' )  
    

    ヒント

    AND 条件を 1 回追加し、[の編集] メニューの [切り取り] コマンドと [貼り付け] コマンドを使用して、他の OR 条件に対して繰り返し実行することで、AND 条件を繰り返すことができます。

クエリおよびビュー デザイナーによって作成される WHERE 句は、かっこを使用して AND より OR の優先順位を指定する次の WHERE 句と同じです。

WHERE (job_lvl = 100 OR status = 'R') AND  
   (hire_date < '01/01/91')  

手記

SQL ペインの直前に示した形式で検索条件を入力した後、ダイアグラムペインまたは抽出条件ペインでクエリを変更すると、クエリおよびビュー デザイナーは、両方の OR 条件に明示的に分散された AND 条件とフォームに一致するように SQL ステートメントを再作成します。

関連項目

抽出条件ペインの検索条件を結合するための 規則 (Visual Database Tools)
検索条件の指定 (Visual Database Tools)