数据库查询--条件查询

目录

1.关系运算条件的查询

2.逻辑运算符条件的查询

3.带关键字IN的查询

4.带BETWEEN AND关键字的查询

 5.空值查询

6.带LIKE关键字的模糊查询


1.关系运算条件的查询

在SELECT语句中,最常见的是使用WHERE字句指定关系运算条件对数据进行过滤。

语法格式:

SELECT 字段列表
FORM 数据表名
WHERE条件表达式;

例1:

查询student数据表中学号为6的学生的姓名和性别

SELECT snc,snmae,ssex FROM student
WHERE sno=6;

例2:

查询student数据表中年龄大于或等于20岁的学生的全部信息,并按年龄降序排序

SELECT * FROM student
WHERE sage>=20
ORDER BY sage DESC;

2.逻辑运算符条件的查询

                运输符                功能描述
            AND  或  &&                逻辑与
             OR 或  ||                逻辑或
                XOR                逻辑异或
              NOT 或 !                逻辑非

 

例1:

查询student数据表中年龄大于19岁并且是男性的学生的记录

SELECT * FROM student
WHERE sage>19 AND SSEX='male';

例2:

查询student数据表中的女性或者是年龄在20岁以上(不含20岁)男生的记录

SELECT * FROM student
WHERE ssex='female' OR ssex='male' AND sage>20;

3.带关键字IN的查询

关键字IN用判断某个字段的值是否在一个指定的集合中,如果字段在该集合中,则该字段所在的记录会被查询出来

语法结构;

SELECT * |字段列表
FROM 数据表名
WHERE 字段名[NOT] IN (元素1,元素2,...);

例1:

查询student数据表中学号不在(2,4,7)这个名单的学生记录

SELECT * FROM student
WHERE sno NOT IN(2,4,7);

4.带BETWEEN AND关键字的查询

ETWEEN AND关键字用于怕判断某字段的值(数值型)是否在指定的范围之内,

如果字段的值(数值型)在指定范围内,则字段所在的记录将被查询出来;反之,则不会被查询出来。

语法;

SELECT * |字段列表
FROM 数据表名
WHERE 字段名[NOT]BETWEEN 较小起始值 AND 较大结束值;

例:

查询student数据表中学号不在3~5的学生记录

SELECT * FROM student
WHERE sno NOT between 3 AND 5;

反之把 ’NOT‘ 去掉就能查询在3~5的记录

 5.空值查询

 在MySQL中,使用 IS NULL 关键字来判断字段的值是否为空值

语法:

SELECT * |字段列表
FROM 数据表名
WHERE 字段名 IS [NOT] NULL;

例:

查询student数据表中sage字段为空值的记录

SELECT * FROM student
WHERE sage IS NULL;

6.带LIKE关键字的模糊查询

SELECT * |字段列表
FROM 数据表名
WHERE 字段名 [NOT] LIEK 匹配字符串;

在上述语法格式中,匹配字符串指的是要用来匹配的字符串,通常里面还有某些通配符,如百分号(%)或下划线(_)

其中百分号(%)通配符可以匹配任意长度的字符串,包括空字符串;百分号通配符可以出现在通配字符串的任意位置。例如“匹配字符串”如果是w%这样的,那么它就可以匹配如“w”、“we”、“welcome”这样的等等。

配“w”是因为%匹配了空字符串。百分号(%)通配符可以出现在匹配字符串的任意位置(开头、中间和结尾)。甚至还可以多个百分号(%)通配符出现在同一个匹配字符串中。

下划线()通配符只能匹配一个任意字符,如果要匹配多个字符,就需要使用多个下划线通配符。

 例1:

查询student数据表中的名字是以z开头学生的记录

SELECT * FROM student
WHERE sname LIKE 'z% ';

例2:

查询student数据表中的名字里没有字母o的学生的记录

SELECT * FROM student
WHERE sanme NOT LIKF '%o%';

例3:

查询student数据表的名字包含6个字符,并且以字母u结尾的学生的记录

SELECT * FROM student
WHERE sname LIKE '_____u';

感谢观看,再见

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

pzn)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值