模糊查询
like操作符用于where字句中搜索列中的指定模式
可以和通配符(%、_)配合使用,其中%表示0或多个任意字符,_表示一个任意字符
25.查询emp表中包含涛字的员工,显示员工姓名
select name from emp where name like '%涛%';
26.查询emp表中的以刘字开头的员工,显示员工姓名
select name from emp where name like '刘%';
多行函数查询
多行函数也叫聚合函数,根据某一列或所有列进行统计
多行函数不能用在where中
28.统计emp表中薪资大于3000员工的个数
select count(*)from emp where sal>3000;
29,求emp表中的最高、低薪资
select max(sal) from emp;
select min(sal) from emp;
30统计emp表中所有员工的薪资总和(不包括奖金)
select sum(sal) from emp;
31.统计emp表中员工的平均薪资
select avg(sal) from emp;
分组查询
GROUP BY语句根据一个或者多个列对结果进行分组
聚合函数在查询时,如果没有分组,默认会将整个查询结果看做是一个租进行统计。如果有分组,分了多少组,就会按照多少组进行统计
不分组,统计emp表中的人数
select count (*) from emp;
//按照部门进行分组,在使用count进行统计数据
select count (*)from emp group by dept;
32.对emp表暗中部门进行分组,查看分组结果
select * from emp group by dept;
33.对员工表按照职位进行分组,并统计每个职位的人数,显示职位和对应人数
select job, count(*) from emp group by job;
34.对emp表按照部门进行分组,求每个部门的最高薪资,显示部门名称和最高薪资
select job, max(sal)from emp group by dept;
排序查询
35.对emp所有员工的薪资进行升序,显示员工姓名、薪资
select name,sal from emp order by sal;
select name,sal from emp order by sal asc;
35.对emp所有员工的奖金进行升=降序,显示员工姓名、奖金
select name, bonus from emp order by bonus desc;
分页查询
在MySQL中,通过limit进行分页查询
语法:limit(页码-1)*每页显示记录数,每页记录数
37.查询emp表中的所有记录,分页显示,每页三条记录,返回第一页
select * from emp limit 0,3;//第一页
其他函数
查询emp表中所有在1993和1995年之间出生的员工,显示姓名,出生日期
select name,birthday from emp where birthday >='1999-1-1' and birthday<='1995-12-31';
select name,birthday from emp where year(birthday)>=1993 and year(birthday)<=1995;
40.查询emp表中本月过生日的所有员工
select *from emp where month(curdate())=month(birthday);
4.查询emp表中员工的姓名和薪资(薪资单位是元)
select name,concat(sal,'(元)')from emp;