17. SQL Server学习日记 - 逻辑运算子

接下来会使用这个food资料表
http://img2.58codes.com/2024/20163415gRSxO2Mkv9.png

逻辑运算子

使用逻辑运算子可以组合多个查询条件来筛选资料

一、NOT运算子:反转查询条件

Ex: 查询food_catalg不为熟食的纪录

SELECT food_catalg,profitFROM foodWHERE NOT food_catalg = '热食' 

执行结果
http://img2.58codes.com/2024/20163415CAlGZVBflD.png

二、AND 运算子:左右两侧的查询条件均成立,则整段查询条件才算成立

Ex : AND,在food_catalg是热食 且 profit大于5才成立

SELECT food_catalg ,profitFROM foodWHERE food_catalg = '热食'AND profit > 5;

执行结果
http://img2.58codes.com/2024/20163415HiBRkKX4K5.png

三、OR 运算子: 左右两侧的查询条件,有一侧或两侧成立时,则整段查询条件才算成立

Ex:OR,在food_catalg是热食 或 profit大于5就成立了

SELECT food_catalg,profitFROM foodWHERE food_catalg = '热食' OR profit > 5;

执行结果
http://img2.58codes.com/2024/20163415qULNUWHyEd.png

四、运算子优先顺序 (Transact-SQL)

1>>>>8
1为最优先

层级操作子1~ (位元 NOT)2* (乘)、/ (除)、% (模数)3+ (正)、- (负)、+ (加)、(+ 串连)、- (减) & (位元 AND)、^ (位元互斥 OR)、 | (位元 OR)4=, >, <, >=, <=, <>, !=, !>, !< (比较运算子)5NOT6AND7ALL、ANY、BETWEEN、IN、LIKE、OR、SOME8= (指派)

五、括号优先处理

举例 : AND的优先值>OR,如果今天希望OR逻辑运算子优先处理,则需加上括号

目标条件为 :「食物类别为热食」且「利润为15或售出单价为25」

Ex:顺着这句话叙述是(以下程式码)

SELECT food_catalg,profit,sell_priceFROM foodWHERE  food_catalg = '热食' AND profit =15OR sell_price =25

执行结果(跑出热食以外的类别)
http://img2.58codes.com/2024/20163415phKr4XHZt8.png
不是我们要的结果,此段程式码的意思是 「食物类别为热食 且 利润为15」或「售出单价为25」

Ex:当我们加入括号后

SELECT food_catalg,profit,sell_priceFROM foodWHERE  food_catalg = '热食' AND ( profit =15OR sell_price =25 )

执行结果
http://img2.58codes.com/2024/201634157VFJl1STYw.png
表达的意思,「食物类别为热食」且「利润为15或售出单价为25」,这是我们要的结果


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章