春眠不觉晓,sql知多少?

本篇文章给大家介绍的是mysql表单查询语句中的where条件查询语句,共分为8小节,基础语法及案例说明(where子句查询)

1 带关系运算符的查询

语法:select 字段名1,字段名2,..... from 表名 where 条件表达式

案例1:查询student表中id为4的学生姓名
select id,name from student where id=4;
案例2:查询student表中name为wusong的学生性别
select name,gender from student where name='wusong'
案例3:查询student表中grade大于80分的学生姓名
select name,grade from student where grade>80;

2 带in关键字的查询

语法:select * | 字段名1,字段名2,...... from 表名 where 字段名 [not] in (元素1,元素2,...);

案例1:查询student表中id的值为1,3,4的记录
select * from student where id in (1,3,4,);
案例2:查询student表中id的值不为1,3,4的记录
select * from student where id not in (1,3,4,);

3 带between and 关键字的查询(区间范围查询)

语法:select * | {字段名1,字段名2,......} from 表名 where 字段名 [not] between 值1 and 值2
区间范围查找 包含值1 值2

案例:查询student表中id值在2-5之间的学生姓名
select id,name from student where id between 2 and 5;

4 空值查询

语法:select * | 字段名1,字段名2,...... from 表名 where 字段名 is [not] null

案例1:查询student表中gender为空值的记录
select * from student where gender is null;
案例2:查询student表中gender不为空值的记录
select * from student where gender is not null;

5 带distinct关键字的查询(去除重复值)

语法:select distinct 字段名 from 表名;

案例1:查询student 表中有哪些性别 要求不重复
select distinct gender from student;
案例2:查询student表中gender和name字段,使用distinct关键字作用于这两个字段
select distinct gender,name from student;
(必须gender和name两个的值都相同才可以去除重复值)

6 带like关键字的查询 (模糊查询)

语法:select * | {字段名1,字段名2,......} from 表名 where 字段名 [not] like '匹配字符串';

(1)带百分号% 通配符

案例1:查找student表中name字段以s开头的学生id
serect id,name from student where name like's%';
%:表示取值范围0-多个任意字符
案例2:查找student表中name字段以w开头,以g结尾的学生id
serect id,name from student where name like'w%g';
案例3: 查找student表中name字段值包含y的学生id
serect id,name from student where name like'%y%';

(2)带下划线_ 通配符

案例1:查找student表中name字段以wu开头,以字符串ong结尾,并且两个字符串中间只有一个字符的记录
serect id,name from student where name like'wu_ong';
案例2 :查找student表中name字段值包含7个字符,并且以字符串ing结束的记录
serect id,name from student where name like '_______ing';
_ :代表一个字符,上面大长横线就是输入了四个下划线 ( _ )
案例3:查找student表中name字段包含%的记录 转义字符
serect id,name from student where name like'%\%%';
查询记录时如果需要查询%或者_ 在记录中则在字符面前加上转义字符 \

7 带and关键字的多条件查询

连接两个或者多个查询条件

语法:select * | {字段名1,字段名2,......} from 表名 where 条件表达式1[...and条件表达式n];

案例1:查询id字段值小于5,并且gender字段值为v的所有学生信息
select * from student where id<5 and gender='v';
and :且 两边为真结果才为真,查询出来的结果必须同时满足所有条件
案例2:查询student表中id字段的值在(1,2,3,4)中 name字段值以字符串ng结束,并且grade字段值小于80的记录
select * from student where id in(1,2,3,4)and name like'%ng' and grade<80;

8 带or关键字的多条件查询

语法:select * | {字段名1,字段名2,...} from 表名 where 条件表达式1 or[...or条件表达式n];

案例1:查询id小于3或者gender为v的学生信息
select * from student where id<3 or grnder='v';
案例2:查询name字段以字符h开头,或者gender字段为v,或者grade为100
select * from student where name like 'h%' or gender='v' or grade=100;
补充:or和and一起使用的情况
查询gender字段值为v 或者gender字段值为男,并且grade为100的记录
select * from student gender='v' or gender='n' and grade=100
注意:如果and和or一起使用是先执行and语句后执行or语句 如果要先执行or可以加括号
~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~

好的以上就是要给大家分享的where条件查询语句的八种类型 ,学习道路上九万里陪你一起努力努力再努力!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值