MySQL基础学习_第019章节_条件查询

条件查询

语法格式:

SELECT 字段名1,字段名2,... FROM 表名 WHERE 查询条件;

注意:

(1)上面条件查询的语法格式的执行顺序是:先执行FROM,再执行WHERE,最后执行SELECT;

(2)条件查询需要用到WHERE语句,且WHERE必须要放到FROM语句的后面。

SQL条件查询支持以下运算符

运算符

说明

=

等于

<> 或 !=

不等于

<

小于

<=

小于等于

>

大于

>=

大于等于

between…and…

两个值之间,是闭区间[ ],等同于>=and<=   between…and…在使用的时候,必须要左边小,右边大,否则查出的值为空。

is null

为null(is not null不为空)

and

并且

or

或者

in

包含(相当于多个or),not in(不在这个范围中)

not

not可以取非,主要用在is或者in中

like

like被称为模糊查询,支持%或者下划线匹配

1. =等于查询条件

举例说明:有一张students学生表,表的设计详见第016章节:https://blog.csdn.net/weixin_43184774/article/details/115295386

students学生表如下:

例1:查询students学生表中成绩等于100分的学生姓名?

SELECT name,score FROM students WHERE score = 100;

例2:查询students学生表中王强平的成绩?

SELECT name,score FROM students WHERE name = '王强平';

 

2. >大于查询条件

例:查询students学生表中成绩大于60分的学生姓名,并展示他们的分数?

SELECT name,score FROM students WHERE score > 60;

 

3. <小于查询条件

例:查询students学生表中成绩小于60分的学生姓名,并展示他们的分数?

SELECT name,score FROM students WHERE score < 60;

 

4. <>或!=不等于查询条件

例:查询students学生表中成绩不等于100分的学生姓名,并展示他们的分数?

SELECT name,score FROM students WHERE score <> 100;

 

5. BETWEEN…AND…查询条件

例:查询students学生表中成绩在60到90之间的学生姓名,并展示他们的分数?

SELECT name,score FROM students WHERE score BETWEEN 60 AND 90;

注意:BETWEEN…AND…查询条件除了可以使用在数字查询方面之外,还可以使用在字符串方面

 

6. IS NULL查询条件

例:查询students学生表中成绩为NULL的学生姓名?

SELECT name,score FROM students WHERE score IS NULL;

注意:

(1)在数据库当中,NULL不是一个值,它代表什么也没有,为空
(2)空不是一个值,不能用等号来衡量,必须使用IS NULL或者IS NOT NULL

 

7. OR查询条件

例:查询students学生表中没有成绩的学生姓名?

SELECT name,score FROM students WHERE score IS NULL OR score = 0;

 

8. AND和OR联合查询条件

例:查询students学生表中成绩大于60分并且班级是1班或3班的学生姓名?

SELECT name,score,class FROM students WHERE score > 60 AND class=1 OR class = 3;(×)

SELECT name,score,class FROM students WHERE class = 1 AND score > 60 OR class = 3 AND score > 60;(√)

SELECT name,score,class FROM students WHERE score > 60 and (class = 1 OR class = 3);(√)

 

9. IN查询条件

IN查询条件等同于OR,IN括号后面的值不是一个区间,是具体的值

例:查询students学生表中班级是1班和4班的学生姓名?

SELECT name,class FROM students WHERE class = 1 OR class = 4; (方式一)

SELECT name,class FROM students WHERE class IN(1,4);  (方式二)

 

10. NOT IN查询条件

例:查询students学生表中班级不是1班和4班的学生姓名?

SELECT name,class FROM students WHERE class NOT IN(1,4);

 

11. LIKE查询条件

在模糊查询当中,必须要掌握两个特殊的符号,一个是%,一个是_

其中,%代表任意多个字符,_代表任意一个字符

例1:查询students学生表中所有姓张的学生姓名?

SELECT name FROM students WHERE name LIKE '%张%';

例2:查询students学生表中最后一个字是“明”字的学生姓名?

SELECT name FROM students WHERE name LIKE '%_明';

例3:查询students数据表中名字带有下划线的学生姓名?

SELECT name FROM students WHERE name LIKE '%\_%';

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

沧海黎明

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

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

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

打赏作者

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

抵扣说明:

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

余额充值