暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL单表查询案例,一起来看看吧

肥仔编程 2020-05-22
754

1.查询员工编号为6的员工姓名、薪水、职位信息

SELECT ename, sal, job FROM emp WHERE empno = 6;

案例分析

这是一个最简单的查询案例,主要用来考察大家对于查询的理解和掌握情况。

2.查询出职位是销售员的所有员工的员工编号、员工姓、年薪、职位信息。

SELECT empno, ename, sal*12, job FROM emp WHERE job = '销售员';

案例分析

对于这道题目我们需要注意两点,首先员工的职位是销售员查询的条件,其次就是在查询的时候薪水要乘以12,计算得到员工的年薪。

3.查询名为 mike 的员工编号、员工姓名、薪水、职位信息(同时数据表中有名为 Mike的员工)。

SELECT empno, ename, sal, job FROM EMP WHERE ename = 'mike';

案例分析

设置这个题目的目的是为了让大家牢记,MySQL中默认是不区分大小写的,这点和其他版本的数据库有所区别的。

4.查询薪水在 2000~5000 之间的员工编号、员工姓名、薪水、职位信息。

SELECT empno, ename, sal, job FROM EMP WHERE sal BETWEEN 2000 AND 5000;

案例分析

这是一个典型的关于查询范围的题目,我们可以使用 BETWEEN……AND……结构来实现

5.查询薪水不在 3500~5000 之间的员工编号、员工姓名、薪水、职位信息

SELECT empno, ename, sal, job FROM EMP WHERE NOT sal BETWEEN 3500 AND 5000;

案例分析

这是和第四个题目对应的题目,对指定的范围进行取反,NOT……BETWEEN……AND……就可以得到最终结果了。

6.查询出没有设置员工岗位的员工编号、员工姓名、薪水、职位信息,并且按照薪水降序排列。

SELECT empno, ename, sal, job FROM EMP WHERE job IS NULL ORDER BY sal DESC;

案例分析

所谓没有设置员工岗位就是在 emp 表中 job 这一列数据值为NULL

7.查询出员工是张姓的员工编号、员工姓名、薪水、职位信息。

SELECT empno, ename, sal, job FROM emp WHERE ename LIKE '张%';

案例分析

这是一个典型的模糊查询案例,之前介绍模糊查询时候也为大家做过相应的演示。

8.查询出每个部门的平均工资并且按照降序排列。

SELECT deptno, avg(sal) FROM emp GROUP BY deptno;

案例分析

这是一个明显的分组查询的题目,以 emp 表中的  deptno 列作为分组标识列,然后利用 AVG() 求取分组之后每个部门的平均工资,就可以得到最终的结果了。

9.查询出每个部门员工的人数。

SELECT deptno, count(*) FROM emp GROUP BY deptno;

案例分析

这个题目和上一个题目类似,以 emp 表中的 deptno 列作为分组标识列,然后利用 count() 函数就可以获取每个部门的总人数了。

10.查询出每个岗位最高薪水、最低薪水以及人数。

SELECT job, max(sal), min(sal), count(*) FROM emp GROUP BY job;

案例分析

相比之前两个分组查询来说,要实现这个查询我们需要用到 max()、min()、count(),可以帮助大家更好的理解分组查询。



文章转载自肥仔编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论