border="0" width="330" height="86" src="http://music.163.com/outchain/player?type=2&id=32785760&auto=0&height=66">
Where子句操作符
Warning:不要使用LIKE
Tip:Between采用Between…And…的形式规定查找范围
Tip:如果要查找空值,可使用
TIP:如果不清楚运算顺序,请添加括号,别自作聪明(And运算符优先级大于OR)
Where
where语句的主要功能是过滤掉我们不需要的数据。比如我们想查询1997年以前的订单。
SELECT [OrderID]
,[CustomerID]
,[EmployeeID]
,[OrderDate]
,[RequiredDate]
,[ShippedDate]
,[ShipVia]
,[Freight]
,[ShipName]
,[ShipAddress]
,[ShipCity]
,[ShipRegion]
,[ShipPostalCode]
,[ShipCountry]
FROM [dbo].[Orders]
WHERE Year([OrderDate])<1997
查询结果过多,在此不显示
Where子句操作符
Tip:Between采用Between…And…的形式规定查找范围
Tip:如果要查找空值,可使用
WHERE XX(属性名称)IS NULL的形式
高级过滤
操作符
有关更多运算符,请移步MSDN
TIP:如果不清楚运算顺序,请添加括号,别自作聪明(And运算符优先级大于OR)
我们可以使用多个条件来进行复杂查询,有时候操作符也可以相互替代,比如OR运算符和IN运算符:
SELECT [ShipName]
,[ShipAddress]
,[ShipCity]
,[ShipRegion]
,[ShipPostalCode]
,[ShipCountry]
,[ShipVia]
FROM [dbo].[Orders]
WHERE [ShipVia] IN(3,2)
也可转换成:
SELECT [ShipName]
,[ShipAddress]
,[ShipCity]
,[ShipRegion]
,[ShipPostalCode]
,[ShipCountry]
,[ShipVia]
FROM [dbo].[Orders]
WHERE [ShipVia] = 3 OR [ShipVia] = 2
还有NOT操作符和<>操作符
SELECT [ShipName]
,[ShipAddress]
,[ShipCity]
,[ShipRegion]
,[ShipPostalCode]
,[ShipCountry]
,[ShipVia]
FROM [dbo].[Orders]
WHERE [ShipVia] <> 3
可以转换为
SELECT [ShipName]
,[ShipAddress]
,[ShipCity]
,[ShipRegion]
,[ShipPostalCode]
,[ShipCountry]
,[ShipVia]
FROM [dbo].[Orders]
WHERE NOT [ShipVia] = 3
原则是哪个简单,易懂就用哪个。
本文深入探讨SQL中WHERE子句的功能与应用,包括过滤指定年份的数据、使用多种操作符进行复杂查询、理解运算符优先级及如何利用 BETWEEN、IS NULL、NOT 等关键字。同时提供实例演示如何灵活转换查询条件,确保查询结果简洁明了。
254

被折叠的 条评论
为什么被折叠?



