01.查询每个雇员的编号、姓名、职位。
select empno,ename,job from emp;

02.查询出所有的职位,使用DISTINCT消除掉显示的重复行记录。
select DISTINCT job from emp;

03.计算每个雇员的编号、姓名、基本年薪。年薪=(工资+奖金comm)*12,(使用IFNULL函数判断NULL)
select empno as '编号',ename as '姓名',  (SAL + ifnull(comm,0))*12 AS '基本年薪' from emp;

04.每个雇员每个月公司会补贴饭食200元,交通补助300元,计算年薪。
select empno as '编号',ename as '姓名',  (SAL + ifnull(comm,0)+300+200)*12 AS '基本年薪' from emp;

05.查询基本工资高于2000的全部雇员信息。
select *  from emp e where e.SAL>2000;

06.查询出smith的信息。
select *  from emp e where e.ENAME='SMITH';

07.查询出所有不是CLERK的详细信息。
select *  from emp e where e.JOB !='CLERK';

08.查询出所有销售人员(SALESMAN)的基本信息,并且要求销售人员的工资高于1300。
select *  from emp e where e.JOB ='SALESMAN' AND e.sal>1300;

09.查询出工资范围在1500~3000之间的全部雇员信息(包含1500和3000)。
select *  from emp e where  e.sal>=1500 and e.sal<=3000;

10.查询出所有经理或者是销售人员的信息,并且要求这些人的基本工资高于1500。
select *  from emp e where  e.job>='salesman' or e.job='manager' and e.sal>1500;

11.要求查询出所有在1981年雇佣的雇员信息。
select * from emp e where e.HIREDATE between('1981-1-01') and('1981-12-31');
12.查询所有领取奖金的雇员信息(comm不为空)。
select * from emp e where e.comm !='';

13.查询所有领取奖金高于100的雇员信息。
select * from emp e where e.comm >100;

14.查询出雇员编号是7369、7566、9999的雇员信息。
select * from emp e where e.EMPNO=7369 or e.EMPNO=7566 or e.EMPNO=9999;

15.查询出所有雇员姓名是以A开头的全部雇员信息。
select * from emp e where e.ename like 'A%';

16.查询出雇员姓名第二个字母是M的全部雇员信息。
select * from emp e where SUBSTR(e.ename,2,1)='m';

17.查询出雇员姓名任意位置上包含字母A的全部雇员信息。
select * from emp e where e.ENAME like '%A%';

18.查询出所有雇员的信息,要求按照工资排序。
select * from emp e order by e.sal asc;

19.要求查询所有雇员的信息,按照雇佣日期由先后排序。
select * from emp e order by e.HIREDATE asc;

20.查询全部雇员信息,按照工资由高到低排序,如果工资相同,则按照雇佣日期由先后排序。
SELECT * FROM emp  ORDER BY sal DESC,HIREDATE ASC;

21.查询部门30中的所有员工。
SELECT * from emp where DEPTNO =30;

22.查询出所有办事员(CLERK)的姓名,编号和部门编号。
SELECT empno,ename,DEPTNO from emp where job ='clerk';

23.查询出奖金高于薪金的员工。
SELECT * from emp e where e.comm >e.SAL

24.查询出奖金高于薪金的60%的员工。
SELECT * from emp e where e.comm > 0.6*e.SAL

25.查询出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料。联表查询
(SELECT * from emp e where e.job='manager' and e.DEPTNO=10 )union all(SELECT * from emp b where b.job='clerk' and b.DEPTNO=20)

26.查询出部门10中所有经理,部门20中所有办事员,既不是经理又不是办事员但其薪金大于或等于2000
的所有员工的信息。
(SELECT * from emp e where e.job!='manager' and e.DEPTNO=10 and e.SAL>=2000 and e.job != 'clerk' )union all
(SELECT * from emp b where b.job!='clerk' and b.job!= 'manager'and b.DEPTNO=20 and b.sal>=2000)

27.查询出收取了奖金的员工从事的工作。
select job from emp e where e.COMM!=''

28.查询出不收取奖金或收取的奖金低于100的员工。
select * from emp e where e.COMM is null or e.comm<100

29.查询出不带有“R”的员工的姓名。直接查询。
select EMPNO,ENAME from emp e where e.ename not like '%R%'

30.查询出每个雇员的姓名、职位、领导姓名。

SELECT a.EMPNO AS '员工工号',a.ENAME AS '员工姓名', a.JOB AS '员工职务',b.ename as '上级姓名'FROM EMP a,EMP B where a.mgr=b.EMPNO

31.查询出所有员工的编号、姓名及其直接上级的编号、姓名,显示的结果按领导年工资的降序排列。
SELECT a.EMPNO AS '员工工号',a.ENAME AS '员工姓名', A.MGR,a.JOB AS '员工职务',b.ename as '上级姓名',b.EMPNO as '上级工号',b.job as '上级职务'FROM EMP a,EMP B where a.mgr=b.EMPNO
ORDER BY (B.SAL+IFNULL(B.COMM,0))*12 DESC

32.查询出在销售部(SALES)工作的员工姓名、基本工资、雇佣日期、部门名称。(不知道销售部编号)。
select a.EMPNO,a.sal,a.HIREDATE,b.dname from emp a  ,( SELECT DEPTNO,dname FROM DEPT WHERE DNAME ='sales')b where a.DEPTNO=b.DEPTNO ORDER BY a.SAL asc

33.查询出所有员工的姓名、部门名称和工资。
select a.EMPNO,b.dname,a.sal from emp a ,( SELECT DEPTNO,dname FROM DEPT)b where a.DEPTNO=b.DEPTNO ORDER BY a.SAL asc

34.查询出所有员工的年工资,所在部门名称,按年薪从低到高排序。
select a.EMPNO,b.dname,(a.sal+IFNULL(a.comm,0))*12 as 'NIANXIN' from emp a ,( SELECT DEPTNO,dname FROM DEPT)b where a.DEPTNO=b.DEPTNO ORDER BY NIANXIN asc

35.查询出某个员工的上级主管及所在部门名称,并要求出这些主管中的薪水超过3000。

SELECT c.*,d.DNAME as '上级所属部门名称' FROM (SELECT a.ENAME,A.MGR,B.DEPTNO,b.ename as '该员工上级姓名',b.EMPNO as '上级工号'FROM EMP a,EMP B where a.mgr=b.EMPNO and b.SAL >3000 and a.EMPNO='7566')c 
LEFT JOIN dept d on c.DEPTNO=d.DEPTNO

36.查询出公司的最高和最低工资。
select MIN(sal),MAX(sal) from emp;
SELECT (SELECT SAL FROM emp ORDER BY SAL LIMIT 1),(SELECT SAL FROM emp ORDER BY SAL DESC LIMIT 1)

37.查询出每个部门的人数、平均工资,只显示部门编号。
select count(a.empno),avg(sal),d.DEPTNO  from emp a,(select deptno from dept)d where a.DEPTNO = d.deptno GROUP BY d.deptno

38.查询出每种职位的最高和最低工资。
select max(sal),MIN(sal),job from emp  GROUP BY job

39.查询平均工资高于2000的职位信息,以及从事此职位的雇员人数、平均工资。
SELECT * from (select COUNT(EMPNO) a,AVG(sal) b,job c from emp  GROUP BY job) d WHERE d.b>2000

40.查询员工编号大于其领导编号的每个员工的姓名、职位、领导名称。
SELECT a.empno as '员工工号',a.ENAME as '员工姓名',a.job as '职位',b.ENAME as '领导名称' from emp a,emp b where a.mgr=b.EMPNO and a.EMPNO>a.MGR

41查询出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。
SELECT
    e.`部门编号`,e.`部门名称`,e.`平均工资`,e.`最低工资`,e.`最高工资`
FROM
    (
        SELECT
            count(a.empno) AS '部门人数',
            d.DEPTNO AS '部门编号',
            d.DNAME AS '部门名称',
            avg(sal) AS '平均工资',
            MAX(sal) AS '最高工资',
            min(sal) AS '最低工资'
        FROM
            emp a,
            (SELECT deptno, DNAME FROM dept) d
        WHERE
            a.DEPTNO = d.deptno
        GROUP BY
            d.deptno
    ) e
WHERE
    e.`部门人数` > 0
    
42./*查询出部门名称和这些部门的员工信息(数量、平均工资),同时列出那些没有员工的部门。*/

43.查询工资比 smith更高的全部员工信息。
select a.* from emp a,(select sal from emp b where b.ENAME='SMITH' )c where a.SAL>c.sal

44.查询工资和职位和 smith相同的所有员工信息。  
select a.* from emp a,(select sal ,job from emp b where b.ENAME='SMITH' )c where a.SAL=c.sal and a.job=c.job

45.查询各部门的部门编号,部门名词,部门地址,员工人数和平均工资。
select count(a.empno),avg(sal),d.*  from emp a,(select * from dept)d where a.DEPTNO = d.deptno GROUP BY d.deptno

两表结构如下:

DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp` (
  `EMPNO` bigint(20) NOT NULL AUTO_INCREMENT,
  `ENAME` varchar(20) DEFAULT NULL,
  `JOB` varchar(20) DEFAULT NULL,
  `MGR` bigint(20) DEFAULT NULL,
  `HIREDATE` date DEFAULT NULL,
  `SAL` double(7,2) DEFAULT NULL,
  `COMM` double(7,2) DEFAULT NULL,
  `DEPTNO` bigint(2) DEFAULT NULL,
  PRIMARY KEY (`EMPNO`)
) ENGINE=InnoDB AUTO_INCREMENT=7935 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept` (
  `DEPTNO` bigint(20) NOT NULL AUTO_INCREMENT,
  `DNAME` varchar(20) DEFAULT NULL,
  `LOC` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`DEPTNO`)
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8;

MYSQL查询员工信息练习相关推荐

  1. mysql查询单个员工信息_PHP+MySQL实现模糊查询员工信息功能示例

    本文实例讲述了PHP+MySQL实现模糊查询员工信息功能.分享给大家供大家参考,具体如下: 一.代码 注意两点: 1.用Notepad+编辑时,格式选择:[编码字符集]->[中文]->[g ...

  2. mysql查询员工表中所有员工入职20个月之后的日期_Mysql基础教程

    往期推荐 2020黑马Python教程 Docker基础知识 网易云课堂2019 Java高级教程 郭术生AE教程 SQL语句分类 DDL:数据定义语言,用来定义数据库对象:库.表.列等 DML:数据 ...

  3. Eclipse+Java+Swing+Mysql实现员工信息管理系统

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库 二.系统展示 1.登录系统 2.主页面 3.部门管理 4.职位管理 5.员工管理 三.部分代码 AdminDao.java D ...

  4. python查询员工信息表

    基本要求: 用户可以模糊查询员工信息 显示匹配了多少条,匹配字符需要高亮显示 代码: #!/usr/env python #coding:utf-8import timedef BreakFlag() ...

  5. 用python写:完成一个员工管理系统 要求存储员工的工号、姓名、年龄、性别、工资 1、员工录入 2、查询员工信息 3、修改员工信息 4、删除 5、根据工号查看 6、退出

    完成一个员工管理系统    要求存储员工的工号.姓名.年龄.性别.工资    1.员工录入    2.查询员工信息    3.修改员工信息    4.删除    5.根据工号查看    6.退出 Em ...

  6. 连接数据库实现查询员工信息

    连接数据库实现查询员工信息 按步骤操作实现查询 package com.zheng.z;import java.sql.Connection; import java.sql.DriverManage ...

  7. 查询员工信息(C语言)

    //查询员工信息.首先定义结构体类型struct employee,然后定义一个结构体类型的数组emp[],且给这个数组赋值 //接着根据用户的提示输入想要查找的员工的姓名,在主函数中,根据员工的姓名 ...

  8. Ajax应用查询员工信息

    首先要用上一篇的步骤启动服务器,建立站点.然后在该站点下创建php文件和html文件. php代码如下,文件名为server.php <?php //设置页面内容是html编码格式是utf-8 ...

  9. python做系统查人的往来的信息_L01-04:python查询员工信息表练习

    #decoding=utf-8 ''' 编写可供用户查询的员工信息表! 1|用户认证 ID Name department phone 查询关键字:姓名 '''import linecache inp ...

最新文章

  1. Rsession: R sessions wrapping for Java
  2. ACL 2019 知识图谱的全方位总结
  3. CRT 入口函数 CRTStartup
  4. 调用 php_最全的PHP反序列化漏洞的理解和应用
  5. mysql报错last packet_mysql The last packet successfully received
  6. 简谈“开放平台”设计中的一些感悟
  7. 买彩票中奖的概率是多少?
  8. 敏捷开发“松结对编程”实践之三:共同估算篇(大型研发团队,学习型团队,139团队,师徒制度,敏捷设计,估算扑克,扑克牌估算)...
  9. Eclipse Maven编译报不支持muti-catch
  10. 48. action 与 filter 的执行流程
  11. mysql 表格入门_MySQL-快速入门(1)基本数据库、表操作语句
  12. CCS软件的安装教程
  13. 阿里巴巴Java开发手册
  14. 句子结构 ------中文句子结构分析
  15. svn取消文件夹图标_TortoiseSVN文件夹及文件图标不显示解决方案
  16. 微信表情的字符编号完整版【图文并茂哦 】
  17. 向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读(经典)
  18. UVA 10306 e-Coins(二维完全背包)
  19. VUE中数组赋值push与=的区别
  20. Linux | (WGET、Curl、Aria2、Axel)的最佳命令行下载加速工具【详解】

热门文章

  1. 计算机二级access通过技巧,2017年计算机二级Access应试技巧
  2. OCR API身份证查验的原理
  3. window10企业版永久密钥激活
  4. msp430流水灯c语言程序,MSP430单片机流水灯程序
  5. 关于MSP430单片机串口通信数据丢失问题
  6. Buck-Boost 变换器和红外 LED 驱动器
  7. 一群小朋友在玩老鹰捉小鸡
  8. 英语--定语从句疑难解答
  9. python3中seed函数的用法
  10. 【论文导读】- Link Weight Prediction Using Supervised Learning Methods(使用监督学习方法的链路权重预测及其在Yelp网络中的应用)