小呆呆的生活

  • 首页
  • 分类
    • Linux
    • MySQL
    • SpringBoot
    • SpringCloud
  • 工具
  • 留言
  • 登录
  • 注册
  • 友情链接
    • 咸鱼的窝
    • DIY熙的家
    • Farmer的自习室
    • Dark的小黑屋
  • 关于
人的一生注定会遇到两个人
一个惊艳了时光,一个温柔了岁月
  1. 首页
  2. MySQL
  3. 正文

MySQL练习(三)

2021年 9月 20日 994次阅读 5人点赞 0条评论

1.使用两种方式查询所有员工(EMP)信息

SELECT * from emp;
 SELECT empno,ename,job,mgr,sal,hiredate,comm,deptno from emp;

2.查询(EMP)员工编号、员工姓名、员工职位、员工月薪、工作部门编号。

 SELECT empno,ename,job,sal,deptno from emp;

3.员工转正后,月薪上调20%,请查询出所有员工转正后的月薪。

SELECT sal*1.2 FROM emp;

4.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的年薪所得(不考虑奖金部分,年薪的试用期6个月的月薪+转正后6个月的月薪)

SELECT sal*13.2 FROM emp;

5.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖金部分),要求显示列标题为员工姓名,工资收入,奖金收入,总收入。

SELECT ename AS '员工姓名',(sal*1)*6 + (sal*1.2)*6 AS '工资收入',IFNULL(comm,0) AS '奖金收入',(sal*2.2)*6 + IFNULL(comm,0) AS '总收入' FROM emp;

6.查询员工表中一共有哪几种岗位类型。

SELECT DISTINCT JOB FROM emp;

7.分别查看员工表、部门表、薪资等级表的表结构。

DESCRIBE emp;

DESCRIBE dept;

DESCRIBE salgrade;

8.查询职位为SALESMAN的员工编号、职位、入职日期。

SELECT ename,hiredate,emp.EMPNO,emp.JOB FROM emp WHERE  JOB = 'SALESMAN';

9.查询1985年12月31日之前入职的员工姓名及入职日期。

SELECT ename,hiredate,emp.EMPNO,emp.JOB FROM emp WHERE  hiredate < '1985-12-31';

10.查询部门编号不在10部门的员工姓名、部门编号。

SELECT ename,emp.DEPTNO FROM emp WHERE  DEPTNO <> 10;

11.查询入职日期在82年至85年的员工姓名,入职日期。

SELECT ename,hiredate FROM emp
WHERE hiredate BETWEEN '1982-1-1' AND '1985-12-31';

12.查询月薪在3000到5000的员工姓名,月薪。

SELECT ename,sal FROM emp WHERE sal BETWEEN 3000 AND 5000;

13.查询部门编号为10或者20的员工姓名,部门编号。

SELECT ename,DEPTNO FROM emp WHERE DEPTNO in (10, 20);

14.查询经理编号为7902, 7566, 7788的员工姓名,经理编号。

SELECT ename,MGR FROM emp WHERE MGR in (7902, 7566, 7788);

15.查询员工姓名以W开头的员工姓名。

SELECT ENAME FROM emp WHERE emp.ENAME LIKE 'w%';

16.查询员工姓名倒数第2个字符为T的员工姓名。

SELECT ENAME FROM emp WHERE emp.ENAME LIKE '%T_';

17.查询奖金为空的员工姓名,奖金。

SELECT ENAME,COMM FROM emp WHERE emp.COMM IS NULL;

18.查询工资超过2000并且职位是MANAGER,或者职位是SALESMAN的员工姓名、职位、工资

SELECT ENAME,HIREDATE,SAL,JOB FROM emp WHERE emp.SAL > 2000 AND (emp.JOB = 'MANAGER' OR emp.JOB = 'SALESMAN') ;

19.查询工资超过2000并且职位是 MANAGER或SALESMAN的员工姓名、职位、工资。

SELECT ENAME,HIREDATE,SAL,JOB FROM emp WHERE emp.SAL > 2000 AND (emp.JOB = 'MANAGER' OR emp.JOB = 'SALESMAN') ;

20.查询部门在10或者20,并且工资在3000到5000之间的员工姓名、部门、工资。

select ename,deptno,sal from emp where sal >2000 and sal <5000 and deptno in (10,20);

21.查询入职日期在81年,并且职位不是SALES开头的员工姓名、入职日期、职位。

SELECT emp.ENAME, emp.HIREDATE, emp.JOB FROM emp WHERE emp.HIREDATE BETWEEN '1981-0-0' AND '1981-12-31' AND emp.JOB NOT LIKE 'SALES%';

22.查询职位为SALESMAN或MANAGER,部门编号为10或者20,姓名包含A的员工姓名、职位、部门编号。

SELECT emp.ENAME, emp.JOB, emp.DEPTNO FROM emp WHERE emp.ENAME LIKE '%A%' AND emp.JOB IN ('SALESMAN', 'MANAGER') AND emp.DEPTNO IN (10, 20);

23.查询部门在20或30的员工姓名,部门编号,并按照工资升序排序。

SELECT emp.ENAME, emp.DEPTNO, emp.SAL FROM emp WHERE emp.DEPTNO IN (10, 20) ORDER BY emp.SAL;

24.查询工资在2000-3000之间,部门不在10号的员工姓名,部门编号,工资,并按照部门升序,工资降序排序。

SELECT emp.ENAME, emp.DEPTNO, emp.SAL FROM emp WHERE emp.DEPTNO != 10 ORDER BY emp.DEPTNO, emp.SAL DESC;

25.查询入职日期在82年至83年之间,职位以SALES或者MAN开头的员工姓名,入职日期,职位,并按照入职日期降序排序。

SELECT emp.ENAME, emp.HIREDATE, emp.JOB FROM emp WHERE emp.HIREDATE BETWEEN '1982-0-0' AND '1983-0-0' AND  emp.JOB LIKE 'SALES%' OR 'MAN' ORDER BY emp.HIREDATE DESC;

26.查询入职日期最早的前5名员工姓名,入职日期。

SELECT emp.ENAME, emp.HIREDATE FROM emp ORDER BY emp.HIREDATE LIMIT 0, 5;

27.查询工作在CHICAGO并且入职日期最早的前2名员工姓名,入职日期。

SELECT emp.ENAME, emp.HIREDATE FROM ((SELECT * FROM dept WHERE dept.LOC = 'CHICAGO') AS L JOIN emp ON L.DEPTNO = emp.DEPTNO
) ORDER BY emp.HIREDATE LIMIT 2;

28.按照每页显示5条记录,分别查询第1页,第2页,第3页信息,要求显示员工姓名、入职日期、部门名称。

SELECT emp.ENAME, emp.HIREDATE, dept.DNAME FROM emp JOIN dept ON emp.DEPTNO = dept.DEPTNO LIMIT 0, 5;
SELECT emp.ENAME, emp.HIREDATE, dept.DNAME FROM emp JOIN dept ON emp.DEPTNO = dept.DEPTNO LIMIT 5, 5;
SELECT emp.ENAME, emp.HIREDATE, dept.DNAME FROM emp JOIN dept ON emp.DEPTNO = dept.DEPTNO LIMIT 10, 5;

29.查询入职时间在1982-7-9之后,并且不从事SALESMAN工作的员工姓名、入职时间、职位。

SELECT emp.ENAME, emp.HIREDATE, emp.JOB FROM emp WHERE emp.JOB != 'SALESMAN';

30.查询员工姓名的第三个字母是a的员工姓名。

SELECT emp.ENAME FROM emp WHERE emp.ENAME LIKE '__a%';

31.查询除了10、20号部门以外的员工姓名、部门编号。

SELECT emp.ENAME, emp.DEPTNO FROM emp WHERE emp.DEPTNO NOT IN (10, 20);

32.查询部门号为30号员工的信息,先按工资降序排序,再按姓名升序排序。

SELECT * FROM emp WHERE emp.DEPTNO = 30 ORDER BY emp.SAL, emp.ENAME;

33.查询没有上级的员工(经理号为空)的员工姓名。

SELECT emp.ENAME FROM emp WHERE emp.MGR IS NULL;

34.查询工资大于等于4500并且部门为10或者20的员工的姓名、工资、部门编号。

SELECT emp.ENAME,emp.SAL, emp.DEPTNO FROM emp WHERE emp.SAL > 4500 AND emp.DEPTNO IN(10, 20);
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: MySQL
最后更新:2021年 10月 12日

小呆呆

知足常乐,就会拥有幸福

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

小呆呆

知足常乐,就会拥有幸福

最新 热点 随机
最新 热点 随机
本站暂时停止更新,后续文章将在CSDN更新 数据库索引简析 Java多线程的使用场景以及线程的创建方式 Spring事务的使用示例和传播行为以及失效场景 Spring Boot使用JUnit和Mockito进行Service层单元测试 Spring Cloud Zuul和Gateway的简单示例(搭建方式)
修复bug翻车记录 Java面试高频(三) SpringCloud项目搭建方式 SQL简单调优 PicGo+GitHub+CDN加速+Typora搭建图床 记由于自己呆瓜操作引发的“血案”
标签聚合
Spring 面试 SpringCloud SpringBoot 后端 干货 Java MySQL
最近评论
我是可是尼古拉斯·爱新觉·罗·G·钰豪啊 发布于 4 年前(04月08日) 我来注水了胜哥 :hehe:
鸟人金 发布于 4 年前(03月03日) v
鸟人金 发布于 4 年前(03月03日) 胜哥yyds
鸟人金 发布于 4 年前(03月03日) 我滴偶像!!!!!!!!!!!!!!!
水军2号 发布于 4 年前(03月03日) 胜哥tql
归档
  • 2024 年 4 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2023 年 8 月
  • 2023 年 6 月
  • 2022 年 11 月
  • 2022 年 8 月
  • 2022 年 6 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 9 月
  • 2021 年 8 月
  • 2021 年 6 月
  • 2021 年 4 月
  • 2020 年 10 月
  • 2020 年 9 月
  • 2020 年 8 月
  • 2020 年 7 月
  • 2020 年 6 月
  • 2020 年 5 月
  • 2020 年 4 月
  • 2020 年 3 月

COPYRIGHT © 2023 小呆呆的生活. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备2020104583号

粤公网安备44011802000463号