mysql基础复习——条件查询

1、语法

SELECE 查询列表 FROM 表名 WHERE 筛选条件

筛选条件分类

1、条件运算符
大于:>,小于:<,等于:=,不等于:!= 或 <>,大于等于:>=,小于等于:<=
2、逻辑表达式
与:&&或 and
或: | | 或 or
非: ! 或 not
3、模糊查询
like 指定子句的查询模式,一般配合通配符使用
between num1 and num2 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期
in 操作符允许在 WHERE 子句中规定多个值
is null和is not null, 规定查询结果带有或不带有null值

2、案例

在这里插入图片描述

案例1、查询所有年龄大于30岁的学生
SELECT * FROM student WHERE stu_age > 30 #其他条件运算符用法类似

在这里插入图片描述

案例2、查询id小于100或大于102的学生信息
SELECT * FROM student WHERE id<100 OR id>102

在这里插入图片描述

案例3、查询年龄大于0小于等于30并且学生账户(stu_account)为空的学生信息
# 条件运算符实现
SELECT * FROM student WHERE stu_age > 0 AND stu_age <= 30 AND stu_account IS NULL

# between and 实现
# ps:between and 两边条件的判断方式都是大于等于相当于 stu_age>=0 AND stu_age<=30
SELECT * FROM student WHERE stu_age BETWEEN 0 AND 30 AND stu_account IS NOT NULL

在这里插入图片描述

案例4、查询stu_no字段中包含“23”的学生信息
SELECT * FROM student WHERE stu_no LIKE '%23%'

在这里插入图片描述

案例5、查询stu_age等于18、55、30的学生信息
SELECT * FROM student WHERE stu_age IN (18, 30, 55)

在这里插入图片描述

案例6、经典面试题
# 语句1
SELECT * FROM student where stu_account like '%%' and stu_name like '%%'
# 和
# 语句2
SELECT * FROM student
# 查询结果是否一致

答案: 不一致

stu_account字段中的值有可能为NULL,若为NULL查询条件的返回值就是false
所以语句1的查询结果中没有字段值为NULL的字段信息
在这里插入图片描述
而字段2可以查到所有字段信息
在这里插入图片描述
PS:若将语句1的AND改为OR,则查询结果和语句2一样,因为查询条件中stu_name的值不可能为NULL,条件永远成立

PS: 安全等于号:<=>

<=>= 区别
= 不能判断NULL值
<=> 可以判断值是否为NULL,同时有=的作用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值