SQL逻辑运算

SQL 逻辑运算符

运算符描述
ALL所有运算符用于比较的值到另一个值组中的所有值
ANDAND运算符允许多个条件的存在,在一个SQL语句中的WHERE子句
ANYANY运算符用于比较的值在列表中根据任何适用的条件
BETWEENBETWEEN 运算符用于搜索一组值的范围内的值,给定的最小值和最大值
EXISTS存在指定的表中符合特定条件的运算符用于搜索存在的一行记录
ININ操作符用来比较的文字值已指定一个值的列表
LIKELIKE运算符用于比较相似的值,使用通配符的值
NOTNOT运算符的含义相反的逻辑运算符,它被使用如 NOT EXISTS, NOT BETWEEN, NOT IN 等,这是一个相反的运算符
OR使用OR运算符结合SQL语句的WHERE子句中的多个条件
IS NULLNULL操作符用来比较NULL的值
UNIQUE独特的操作符搜索指定的表中的每一行的唯一性(不重复)

逻辑运算符 ALL

ALL在英文中的意思是“所有”,ALL运算符要求比较的值需要匹配子查询中的所有值。ALL运算符同样不能单独使用,必须和比较运算符共同使用
语法:

SELECT column_name(s)
FROM table_name --表名
WHERE column_name 比较运算符 ALL (结果集)--ALL 运算符不能与固定的集合相匹配

实例
在这里插入图片描述
ALL 里的查询语句查询到的结果集是 1 , 2
ALL语义是 ALL运算符要求比较的值需要匹配子查询中的所有值 所以父查询中的结果集会和ALL中的子查询的结果集进行比较,当 都大于时才能输出,也就是说要同时满足大于(看使用的是什么运算符,比如说是= 则是等于)子查询中结果集的所有值
如下图,不满足同时大于子程序的 1 , 2 就没有被上面的结果集输出 只输出了满足条件的 3
在这里插入图片描述

逻辑运算符 AND

AND在英文中的意思是“并且”,如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
语法:

SELECT column_name(s)
FROM table_name --表名
WHERE column_name = price1 AND column_name= price2 --需要同时满足两个条件

实例 查找 StudentID小于9并且age=1的
在这里插入图片描述
也可以使用多个AND如下实例 查找 StudentID小于9并且age=1并且classID=2的
在这里插入图片描述

逻辑运算符 ANY

ANY在英文中的意思是“任何”,ANY运算符要求比较的值需要匹配子查询中的任何值 ANY必须和其他的比较运算符共同使用,而且必须将比较运算符放在ANY 关键字之前
语法

SELECT column_name(s)
FROM table_name --表名
WHERE column_name 比较运算符 ANY(结果集)--ANY 运算符不能与固定的集合相匹配

实例如下 查找
在这里插入图片描述

逻辑运算符 BETWEEN

BETWEEN在英文中的意思是“介于…之间”,
语法

SELECT column_name(s)
FROM table_name --表名
WHERE column_name  BETWEEN price1 AND price2 --查询满足的条件是 price1~price2 (包括price1,price2 )

实例 查询studentID 为 1~3的(包括1和3)
在这里插入图片描述

逻辑运算符 EXISTS

EXISTS在英文中的意思是“存在”,是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字
语法

SELECT column_name(s)
FROM table_name --表名
WHERE EXISTS(SELECT column_name(s)
			FROM table_name )

实例 当有studentID=1的同学时,查询所有同学信息
在这里插入图片描述

逻辑运算符 IN

IN在英文中的意思是“在内”,
语法

SELECT column_name(s)
FROM table_name --表名
WHERE column_name IN ( price1  ,price2  ,price3 )--price1可以有多个并且可以是任何同种类型

实例,查询studentID为1 , 2 , 3的同学
在这里插入图片描述

逻辑运算符 LIKE

LIKE在英文中的意思是“象”,LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。LIKE 可以当=号使用,但不建议这样使用
语法

SELECT column_name(s)
FROM table_name --表名
WHERE column_name LIKE price1  --LIKE 大多数时候是搭配通配符进行模糊筛选 如果不是进行模糊筛选,请使用 = 

实例 查询studentID=1的学生 不建议这样使用LIKE
在这里插入图片描述
LIKE搭配通配符进行模糊筛选
实例:筛选所有姓林的
在这里插入图片描述

逻辑运算符 NOT

NOT在英文中的意思是“不”,否定它之后所跟的任何条件。
可以使用 NOT 操作符对 IN、BETWEEN、EXISTS子句进行取反。
语法

SELECT column_name(s)
FROM table_name --表名
WHERE column_name NOT term --NOT用于对筛选条件进行反选

实例查询出studentID不等于 1,2,3的学生信息
在这里插入图片描述

逻辑运算符 OR

OR在英文中的意思是“或”, OR 可在 WHERE 子语句中把多个条件结合起来。如果多个条件中有一个条件满足,则 OR 运算符显示一条记录
语法

SELECT column_name(s)
FROM table_name --表名
WHERE column_name OR (term1 ,term2 ,term3)--term条件可以有多个

实例 查询 StudentID 为1或者为2的学生的学生信息
在这里插入图片描述

逻辑运算符 IS NULL

IS NULL在英文中的意思是“判断为空”,
语法

SELECT column_name(s)
FROM table_name --表名
WHERE column_name IS NULL

实例 查询班级为空的学生信息
在这里插入图片描述

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qayrup

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值