適用於:SQL Server
若要使用 OR 連結條件,並將它們優先於與AND鏈接的條件,您必須針對每個OR條件重複AND條件。
例如,假設您想要找到所有已與公司合作超過五年且工作較低或已退休的員工。 此查詢需要三個條件,單一條件會連結至兩個額外的條件,並搭配 AND:
僱用日期早於五年前的員工,以及
工作等級為 100 或其狀態為「R」的員工(指退休)。
下列程序說明如何在 [準則] 窗格中建立這種類型的查詢。
在 OR 具有優先順序時結合條件
在 [準則] 窗格 (Visual Database Tools)中,新增您想要搜尋的數據行。 如果您想要使用連結
AND的兩個或多個條件來搜尋相同的數據行,您必須針對您想要搜尋的每個值,將數據行名稱新增至方格一次。在篩選方格數據行中輸入第一個條件,並將第二個條件和後續條件輸入個別的 Or... 資料行,以建立要連結
OR的條件。 例如,若要連結搜尋ORjob_lvl和status資料行的條件,請在 的 [篩選] 資料列job_lvl中輸入 ,並在= 'R'的statusOr... 資料列中輸入= 100。在方格中輸入這些值會在 SQL 窗格中的 語句中產生下列
WHERE子句:WHERE (job_lvl = 100) OR (status = 'R')AND針對每個OR條件輸入一次條件,以建立條件。 將每個專案放在與其OR對應之條件相同的方格數據行中。 例如,若要新增搜尋資料hire_date行並套用至這兩OR個AND條件的條件,請在 Criteria 資料行和 Or... 資料列中輸入< '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新增一次條件,然後使用 [編輯] 功能表中的 [剪下] 和 [貼上] 命令,針對其他OR條件重複它。
WHERE查詢與檢視表設計工具所建立的 子句相當於下列WHERE子句,它會使用括弧來指定的優先順序OR高於 AND:
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
備註
如果您以 SQL 窗格 (Visual Database Tools) 上所示的格式輸入搜尋條件,但接著對 [圖表] 或 [準則] 窗格中的查詢進行變更,查詢和檢視表設計工具會重新建立 SQL 語句,使其符合 AND 明確散發至這兩 OR 個條件的條件。