MySQL数据库——where

一、 select一般格式

SELECT [DISTINCT] * | {字段名1,字段名2...}
FROM  表名
[WHERE 条件表达式1]
[GROUP BY 字段名1[HAVING 条件表达式2 ]]
[ORDER BY 字段名 [ASC| DESC ]]

说明:

  • 通配符*代表所有字段
  • WHERE之后为查询约束条件
  • GROUP BY 一般和合计函数一同使用,先根据字段名进行分组,然后在每组内进行合计
  • ORDER BY 将查询结果按字段进行排序。

二、where

where子句一般跟着from 表名之后,用于规定选择的标准。
假设有如下表:

create table student(
	id char(10) primary key,
	name varchar(8) not null,
	age int(3) default 0,
	mobile char(11),
	address varchar(150)
)
insert into student values ('1','张三',24,'12345678901','北京海淀');
insert into student values ('2','李%四',10,'98765432130',null);
insert into student values ('3','张李三',11,'18338945560','安徽六安');
insert into student values ('4','王_五',28,'98765432130','北京朝阳区');
insert into student values ('5','王_五%%',11,'13856901237','吉林省长春市宽平区');
  1. like模糊查询
    (1)、通配符%代表零个字符或是N个字符
    select * from student where name like '王%’
    查询结果:查出表中姓王的学生信息,查出第4条王_五,第五条王_五%%的信息。
    (2)、通配符_代表单个字符
    select * from student where name like '张_’
    查询结果:查出表中姓张,且姓名长度为两个字符的学生信息
    (3)、escape用于取消通配符含义,使其变为普通字符
    select *from student where name like '%^%%' ESCAPE '^'
    查询结果:查出姓名中含有%字符的学生信息
    select * from student where name like '_1__' ESCAPE '1'
    查询结果:查出姓名为3个字符且中间字符为_的学生信息

  2. 逻辑条件and,or
    select * from student where name like '张%' and age>10
    查询结果:查出姓张且年龄大于10的学生信息
    select * from student where age=10 or age = 11
    查询结果:查出年龄为10或者11的学生信息

  3. between and
    select * from student where age between 10 and 20
    查询结果:查出年龄段在10~20的学生信息
    select * from student where age between 20 and 10
    查询结果:查询失败,“between 下限 and 上限”一定是小值在前大值在后,否则查不出数据。
    注意:between and查询包括边界

  4. 关系条件=、!=、<、=<、>、>=
    select * from student where age<28
    查询结果:查出年龄小于28的学生信息

  5. in
    select * from student where age in(10,11)
    查询结果:查出年龄为10,或年龄为11的学生信息,也就是说等同于:
    select * from student where age=10 or age=11

  6. null:is null和is not null
    select * from student where address is null
    查询结果:查出地址为空的学生信息
    select * from student where address is not null
    查询结果:查出地址不为为空的学生信息
    注意:is null不能写成 = null,同样,is not null不能写成!=null

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值