在我們寫SQL查詢的過程中,有幾個使用得非常頻繁的謂詞和邏輯運算符,謂詞主要有IN,BETWEEN,以及LIKE。邏輯運算符主要有OR和AND。下面來分別總結它們。
ININ一般用于判斷一個值是否與一組元素中的至少一個相等。例如,以下SQL查詢返回訂單ID等于10248,或10249,或10250的訂單。
-- 設置數據庫上下文USE TSQLFundamentals2008;GOSELECT orderid,empid,orderdate FROM Sales.OrdersWHERE orderid IN (10248,10249,10250);
查詢結果:
注意:若orderid為字符串類型的話,括號里的訂單ID需要加引號。
BETWEENBETWEEN一般用于判斷一個值是否在指定的范圍內,包括兩個指定的邊界值。例如,以下查詢返回訂單ID在10300至10310之間的所有訂單。
SQL代碼如下:
-- 設置數據庫上下文USE TSQLFundamentals2008;GOSELECT orderid,empid,orderdate FROM Sales.OrdersWHERE orderid BETWEEN 10300 AND 10310
查詢結果:
注意:表示日期時間的范圍也可以使用BETWEEN。
LIKELIKE一般用于判斷一個字符串值是否與指定的模式匹配。例如,以下查詢返回姓氏以字符’D’開頭的所有雇員。
SQL查詢代碼:
-- 設置數據庫上下文USE TSQLFundamentals2008;GOSELECT empid,firstname,lastname FROM HR.EmployeesWHERE lastname LIKE N'D%';
查詢結果:
下面來總結邏輯運算符了,邏輯運算符主要用于把多個邏輯表達式組合起來。
OROR運算符表示或的關系。例如,以下查詢返回2008年1月1日以后或由職員ID為1,2處理過的所有訂單。
SQL查詢代碼:
-- 設置數據庫上下文USE TSQLFundamentals2008;GOSELECT orderid,empid,orderdate FROM Sales.OrdersWHERE orderdate>='20080101' OR empid IN (1,2)
查詢結果:
AND表示且的關系。例如,以下查詢返回2008年1月1日以后且由職員ID為1,2處理過的所有訂單。
SQL查詢代碼:
-- 設置數據庫上下文USE TSQLFundamentals2008;GOSELECT orderid,empid,orderdate FROM Sales.OrdersWHERE orderdate>='20080101' AND empid IN (1,2)
查詢結果:
新聞熱點
疑難解答