MySQL查询语种关键字_MySQL命令大全——DQL(数据查询语言)

一、基础查询

查询所有列

select * from 表名;

aef1c3d68b894f838bd95e4382dc8074.png

查询指定列

select 字段1, 字段2  from 表名;

a4be577d0110380f887feb214d736938.png

二、条件查询

查询时给出where子句,来限定查询的结果符合某些要求

运算符及关键字:

=, !=, <>, >=, <=, >, <

select * from student where s_age>20;

between A and B——在A与B之间(包括A和B)

select * from student where s_age between 19 and 30;

in(value1, value2, value3...valuen) ——值在value1, value2, value3...valuen之中

select * from student where s_id in('20170001', '20170003', '20170005');

is null —— 值为空

select * from student where s_name is null;

and/or/not —— 与/或/非

select * from student where s_id in('20170001', '20170003', '20170005') and s_age>20;

select * from student where s_age>20 or s_age<9;

not与is null结合时候有两种语法:

1、select * from student where s_name is not null;

2、select * from student where not s_name is null;

三、模糊查询

关键字:like

使用下划线'_'代表任意一个字符

使用'%'代表任意零到多个字符

例:查询以s开头,总共五个字母的学生姓名:

select * from student where s_name like 's____';  //后面四个下划线

查询学生姓名中含有s的学生姓名

select * from student where s_name like '%s%';

四、字段控制查询

1、去除重复记录

关键字:distinct

当查询员工表emp中有哪些工资sal值时,当出现相同的工资记录时,我们需要去重

select distinct sal from emp;

2、查询求和

例:查询员工表emp中员工信息以及查看员工薪资sal与奖金comm之和

select *, sal+comm from emp;

注:只有两者都是数值类型才能相加,其中有一个不是数值类型就会报错,任何类型与NULL相加都为NULL

如果在奖金comm字段中有null值,结果就会有误,这时我们需要将null值改成0;

语法:select *, sal+ifnull(comm, 0)  from emp;

3、给查询结果起别名

select *, sal+ifnull(comm,0) as total from emp;

注:as可以省略,但一般保留

五、排序

关键字:order by

asc 升序;   desc 降序

例:查询所有学生记录,按年龄升序排列

select * from student order by age; //默认升序

select * from student order by age asc;

查询所有学生记录,按年龄降序排列

select * from student order by age desc;

当涉及到有多重排序规则时,按排序规则的先后顺序进行排序,如:查询所有员工,并按薪资降序排列,当薪资相同时按员工编号升序排列

select * from emp order by sal desc, id asc;

六、聚合函数

聚合函数是用来做纵向运算的函数

COUNT():统计指定列不为NULL的记录行数;

MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;

MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;

SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;

AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0。

例:统计薪资sal在3000以上的员工人数

select count(sal) from emp where sal>3000;

查询平均工资:

select avg(sal) from emp;

七、分组查询

按字段分类,查询结果

关键字:group by

例:查询员工表emp中部门编号deptno和每个部门的工资之和

select deptno, sum(sal) from emp group by deptno;

dded894791f0fbd3d393ca426ef4bd47.png

八、限定结果起始行和总行数

关键字:limit

例:查询员工表emp中薪资在前三名的员工信息

select * from emp order by sal desc limit 0,3;

29988a97fa9d1e641c97bbb188e95258.png

作用:分页

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值