mysql查询练习2

1. 查询20号部门的所有员工信息:


select * from emp where deptno = 20;

2. 查询奖金(COMM)高于工资(SAL)的员工信息:

    select * from emp where comm >sal

3. 查询奖金高于工资的20%的员工信息:

  select * from emp  where comm > sal*0.2;

4. 查询10号部门中工种为MANAGER和20号部门中工种为CLERK的员工的信息:

    select  * from emp  where  (deptno =10 and job = 'manager') or (deptno =20  and job = 'clerk');

5. 查询所有工种不是MANAGER和CLERK,且工资大于或等于2000的员工的详细信息:

  select * from emp  where  job not in ('manager','clerk') and  sal>=2000;

6. 查询没有奖金或奖金低于100的员工信息:

  select * from emp where  comm is null or comm <100;

7. 查询员工工龄大于或等于10年的员工信息:

    select  * from emp where  TIMESTAMPDIFF(year, hiredate,now())>=10

8. 查询员工信息,要求以首字母大写的方式显示所有员工的姓名:

  select concat(upper(substring(ename,1,1)) , lower(substring(ename,2))),ename from emp;

9. 查询在2月份入职的所有员工信息:

select * from emp where DATE_FORMAT(hiredate,'%m') = 2;

10.显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序,若月份相同则按入职的年份排序:

    select  ename , DATE_FORMAT(hiredate,'%Y'),DATE_FORMAT(hiredate,'%m')

from emp

order by DATE_FORMAT(hiredate,'%m'), DATE_FORMAT(hiredate,'%Y');

11. 查询'JONES'员工及所有其直接、间接下属员工的信息:

    select a.ename ,b.ename,c.ename

    from emp a

join emp b

on(a.empno = b.mgr)

      left outer JOIN emp c

          on(b.empno = c.mgr)

    where a.ename ='JONES';

12. 查询SCOTT员工及其直接、间接上级员工的信息:

select a.ename ,b.ename,c.ename

    from emp a

join emp b

on(a.empno = b.mgr)

      left outer JOIN emp c

          on(b.empno = c.mgr)

    where c.ename ='scott';

13. 试用SQL语言完成下列查询(多表查询):

14. 查询各个人的详细信息以及其部门人数、部门平均工资:

select dname ,emp.deptno ,loc ,count(1) ,avg(sal)

from dept ,emp

where dept.deptno = emp.deptno

    group by dname ,emp.deptno ,loc ;

select emp.*,deptcount,avgsal

from emp ,(select deptno ,count(1) deptcount,avg(sal) avgsal from emp group by deptno) b

  where emp.deptno  = b.deptno;

15. 查询10号部门员工以及领导的信息:

    select a.* ,b.*

from emp a left outer join  emp b

on a.mgr = b.empno

  where a.deptno = 10

16. 查询工资为某个部门平均工资的员工信息:

    select  * from emp 

    where sal  in(select avg(sal) from emp group by deptno)

17. 统计各个工种的人数与平均工资:

    select job,count(1),avg(sal)

from emp

    group by job;

18. 统计每个部门中各个工种的人数与平均工资:

    select deptno,job,count(1),avg(sal)

from emp

    group by deptno,job;

19. 查询所有员工入职以来的工作期限,用“**年**月**日”的形式表示。

  select ename ,FROM_DAYS(TIMESTAMPDIFF( day,hiredate,now())) from emp


-20. 查询人数最多的部门信息:

    select * from dept

where  deptno

  in(select deptno  from emp  group by deptno having count(1) =

(select max(count) from (select count(1) count from emp group by deptno)a))

21. 部门平均薪水最高的部门编号:

select c.deptno from

(select max(avgsal) maxavgsal from

(select deptno,avg(sal)avgsal from emp group by deptno)a) b,(select deptno,avg(sal)avgsal from emp group by deptno)c

where  maxavgsal = c.avgsal

22.比普通员工的最高薪水还要高的经理人名称:

select ename

from emp  where empno in(select mgr from emp)

    and sal >(

select max(sal) from (select * from emp where empno not in(select mgr from emp where mgr is not null))a)

23. 查询所有员工工资都大于1000的部门的信息:

select * from dept

    where deptno  in(select deptno from (select min(sal)minsal,deptno from emp group by deptno )a where minsal>1000)

24. 查询所有员工工资都大于1000的部门的信息及其员工信息:

  select * from dept ,emp

    where emp.deptno  in(select deptno from (select min(sal)minsal,deptno from emp group by deptno )a where minsal>1000)

and dept.deptno = emp.deptno;

25. 查询所有员工工资都在900~3000之间的部门的信息:

    select * from dept where deptno not in (

select deptno from emp  where sal <900 or sal>3000 and deptno is not null) and deptno in (select distinct deptno from emp);

26.查询所有工资都在900~3000之间的员工所在部门的员工信息:

select * from emp where deptno not in (

select deptno from emp  where sal <900 or sal>3000 and deptno is not null) and deptno in (select distinct deptno from emp);

27. 查询每个员工的领导所在部门的信息:

  select * from dept where deptno in(select deptno from emp where empno in (select mgr from emp))

28. 查询工作等级为2级,1985年以后入职的工作地点为DALLAS的员工编号、姓名和工资:

    select empno ,ename ,sal

    from emp ,salgrade

    where  hiredate >'1985-12-31' and deptno =(select deptno from dept where loc = 'dallas')

and  sal between losal and hisal and grade = 2

29..查询平均工资最低的部门名称

①多表:

select dname

  from dept,

      (select deptno, avg(sal) deptnoavgsal from emp group by deptno) b,

      (select min(deptnoavgsal) mindeptnoavgsal

          from (select avg(sal) deptnoavgsal from emp group by deptno)d) c

where dept.deptno = b.deptno

  and b.deptnoavgsal = c.mindeptnoavgsal;

②子查询:

select dname

  from dept

where deptno =

      (select deptno

          from emp

        group by deptno

        having avg(sal) = (select min(avgsal) from (select avg(sal) avgsal from emp group by deptno)a));

select * from emp;

30.查询和Smith同一个领导的其他员工的信息

①多表:

select dname

  from dept,

      (select deptno, avg(sal) deptnoavgsal from emp group by deptno) b,

      (select min(deptnoavgsal) mindeptnoavgsal

          from (select avg(sal) deptnoavgsal from emp group by deptno)) c

where dept.deptno = b.deptno

  and b.deptnoavgsal = c.mindeptnoavgsal;

②子查询:

select dname

  from dept

where deptno =

      (select deptno

          from emp

        group by deptno

        having avg(sal) = (select min(avg(sal)) from emp group by deptno))

31.查询比本部门平均工资高的人员信息

SELECT *

  FROM EMP, (SELECT AVG(SAL) AVGSAL, DEPTNO FROM EMP GROUP BY DEPTNO) A

WHERE EMP.DEPTNO = A.DEPTNO

  AND SAL > AVGSAL;

SELECT *

  FROM EMP A

WHERE SAL > (SELECT AVG(SAL) FROM EMP B WHERE A.DEPTNO = B.DEPTNO);

32.查询比Jones工资高的员工信息

①多表:select *

      from emp

      where sal>

      (select sal

      from emp

      where ename ='jones');

②子查询:select *

      from emp a join emp b

      on a.sal>b.sal

      where b.ename='jones';

33.查询一个比Smith工资高,同时岗位和Jones相同的人的领导的部门的平均工资。

select avg(sal)

from emp

where deptno=(select deptno from emp where empno in(select mgr from emp

where sal>(select sal from emp where ename ='smith')

and

job =(select job from emp where ename='jones')));

34.查询最高的部门平均工资

select max(avgsal)

from(select avg(sal) avgsal,deptno from emp group by deptno) a;

35,查询比20部门平均工资高的人员信息

select *

from emp

where sal>

(select avg(sal) from emp where deptno =20);

36.查询工资比本部门平均工资高的人

select ename,avg(sal)

from emp,(select avg(sal) avgsal,deptno from emp group by deptno) a

where sal>avgsal and emp.deptno=a.deptno;

37.查询每个岗位工资最高的人员信息

select *

from emp,(select max(sal) max ,job from  emp group by job ) a

where sal=a.max

and emp.job=a.job

38.查询每个领导手下工资最低的员工信息

select *

from emp,

(select min(sal) minsal,mgr from emp group by mgr) a

where sal = a.minsal and a.mgr = emp.mgr

39.查询比10部门所有人工资高的人员信息

select *

from emp where sal>

all(select sal from emp where deptno=20);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容

  • 目标 聚合函数 分组函数 子查询 多行子查询 引出 •请思考如下问题? –查询所有员工的每个月工资总和,平均工资?...
    wqjcarnation阅读 4,141评论 0 6
  • 引出 •请思考如下问题? –查询所有员工的每个月工资总和,平均工资? –查询工资最高和最低的工资是多少? –查询公...
    C_cole阅读 7,275评论 0 3
  • 1. select * from emp; 2. select empno, ename, job from em...
    海纳百川_4d26阅读 1,878评论 0 4
  • https://blog.csdn.net/u010297957/article/details/51974340...
    BenjaminCool阅读 198评论 0 0
  • 年前下了一场大雪在分手后的第二天 我走在一条长长的街却没能与谁遇见 雪太狂太野让我一瞬到了白头你却不在我身边 回忆...
    熊正正阅读 198评论 0 1