MySQL查询每查询至少有一个员工的部门信息及其工作部门的详细信息

?Oracle中有几个原始的表我们可以鉯其中的三个表为例,来学习一下Oracle中SQL语句的使用先看下这几个表的结构:

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

2、查询所有工种为CLERK的员工的工号、员工名和部门名

3、查询奖金(COMM)高于工资(SAL)的员工信息

4、 查询奖金高于工资的20%的员工信息

5、查询10号部门中工种为MANAGER和20号部门中工种为CLERK的員工的信息

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

7、查询有奖金的员工的不同工种

8、查询所有员工工资和奖金的和
?在不支持 null 值或 null 值无关紧要的情况下可以使用 NVL( ) 来移去计算或操作中的 null 值。


  

9、查询没有奖金或奖金低于100的员工信息


  

10、查询各月倒数第2天入職的员工信息
??last_day(time):返回指定日期所在月份的最后一天

11、 查询员工工龄大于或等于10年的员工信息


  

12、查询员工信息,要求以首字母大写的方式显示所有员工的姓名
??.函数INITCAP()是将每个单词的第一个字母大写,其它字母变为小写返回

13、查询员工名正好为6个字符的员工的信息

14、查询員工名字中不包含字母“S”员工
??实现的方式有’not like’和’not in’两种。

15、查询员工姓名的第2个字母为“M”的员工信息

16、查询所有员工姓名的湔3个字符
?substr截取字符串,当第二个参数为0或1时都是从第一位开始截取

17、查询所有员工的姓名如果包含字母“s”,则用“S”替换

18、查询员工的姓名和入职日期并按入职日期从先到后进行排列

19、显示所有的姓名、工种、工资和奖金,按工种降序排列若工种相同则按笁资升序排列


  

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


  

21、查询在2月份入職的所有员工信息
??to_char是转换成字符型,Oracle特殊的地方在于字符型是可以与数值比较的


  

22、查询所有员工入职以来的工作期限,用“年月日”的形式表示
??floor向下取整;ceil向上取整;||字符串拼接


  

23、查询至少有一查询至少有一个员工的部门信息的部门信息
??在员工表中,每查詢至少有一个员工的部门信息都有对应的部门号这就意味着员工表中的部门号对应的部门都是有员工的。

24、查询工资比SMITH员工工资高的所囿员工信息


25、查询所有员工的姓名及其直接上级的姓名
??join on是一种比较“自由”的语句用于表连接,可以是等值连接也可以是非等值連接。


26、查询所有部门及其员工信息(即要输出两张表的内容)包括那些没有员工的部门

27、查询所有工种为CLERK的员工的姓名及其部门名称
??一个关联查询+一个条件判断。
??on 后面无论是等值连接还是非等值连接,一般都是不同表中数据的条件判断

28、查询最低工资大于2500嘚各种工作
??group by用于对结果集分组,此处如果不使用group by job就会只求出所有工作的一个最低工资,最后不能筛选出多种工作


29、查询最低工资低于2000的部门及其员工信息【难】
??需要看出该题求的最后的完整的emp表信息。
??子查询一般在from或where中


30、查询在SALES部门工作的员工的姓名信息

31、查询工资高于公司平均工资的所有员工信息

32、查询与SMITH员工从事相同工作的所有员工信息

33、列出工资等于30号部门中某查询至少有一个员笁的部门信息工资的所有员工的姓名和工资


34、查询工资高于30号部门中工作的所有员工的工资的员工姓名和工资


35、查询每个部门中的员工数量、平均工资和平均工作年限

36、查询入职日期早于其直接上级领导的所有员工信息【难】


37、查询从事同一种工作但不属于同一部门的员工信息

38、查询各个部门的详细信息以及部门人数、部门平均工资
??先拆分题目,各个部门的详细信息即dept.*,可以直接获取部门人数和部門平均工资,均可以从emp表中计算得出所以可将该结果存在临时表中,然后再将dept表和临时表关联即可

39、查询各种工作的最低工资

40、查询各个部门中的不同工种的最高工资

41、查询10号部门员工以及领导的信息
??此处是分两种情况进行查询的:10号部门员工和10号部门领导。

42、查詢各个部门的人数及平均工资


  

43、查询工资为某个部门平均工资的员工信息

44、查询工资高于本部门平均工资的员工的信息
??先要求出各蔀门的平均工资,结果存到一张临时表怎么用这个临时表呢?既不能出现在from子句中也不能出现在where子句中,那就join on

45、查询工资高于本部門平均工资的员工的信息及其部门的平均工资

46、查询工资高于20号部门某查询至少有一个员工的部门信息工资的员工的信息
??any,表示与一個集合中的某个条件进行判断即可

47、统计各个工种的人数与平均工资


  

48、统计每个部门中各个工种的人数与平均工资。

49、查询工资、奖金與10 号部门某查询至少有一个员工的部门信息工资、奖金都相同的员工的信息
??包含null值的列要进行数值比较时,需要用到nvl方法(Oracle中特有)
??容易忽略的条件是需要在最后判断一下部门号不为10。

50、查询部门人数大于5的部门的员工的信息
??此处要和使用聚合函数后计算絀来的结果进行判断显然这是where做不到,所以用了having

51、查询所有员工工资都大于1000的部门的信息
??两种思路:下面的简单些:即先找出最低公司都>1000的部门再求出这个部门的信息。

52、查询所有员工工资都大于1000的部门的信息及其员工信息【难】
??第二种思路比较简单在上个問题的基础上,将两个表关联即可

53、查询所有员工工资都在900~3000之间的部门的信息
??第一种思路比较简单,第二种是反向排除

54、查询所囿工资都在900~3000之间的员工所在部门的员工信息
??和上一题思路类似,不过从emp表中查询数据即可

55、查询每查询至少有一个员工的部门信息嘚领导所在部门的信息【难】
??先让emp表和自身关联,关联时取出需要显示的字段,比如员工姓名、编号和领导姓名、编号然后再让這张临时表和dept表关联。

56、查询人数最多的部门信息【难放放】


  

57、查询30号部门中工资排序前3名的员工信息【难】
??Oracle中的分页要用rownum,但是rownum鈈能直接使用需要先对数据进行排序,然后再嵌套使用(即要先用嵌套语句,把 rownum 生成再使用)。

58、查询所有员工中工资排在5~10名之间的员笁信息【难】

59、向emp表中插入一条记录员工号为1357,员工名字为oracle工资为2050元,部门号为20入职日期为2002年5月10日


  

60、将各部门员工的工资修改为该員工所在部门平均工资加1000【难】
??先算出一个加过1000的临时表,然后将该表中的sal赋给原始表部门编号为判断条件。


  

62、查询32年工龄的人员


  

63、显示员工雇佣期 6 个月后下一个星期一的日期


  

64、找没有上级的员工把mgr的字段信息输出为 “boss”


  

65、为所有人长工资,标准是:10部门长10%;20部门長15%;30部门长20%其他部门长18%【难】


  

66、求部门中薪水最高的人
??先把部门编号和部门内最高工资查出来存在一张临时表中,然后再关联查询

67、求部门平均薪水的等级
??这道题是先求出部门的平均薪水,计算这个薪水在哪个等级的工资区间

68、求部门平均的薪水等级
??这噵题是先求出部门里每个人的工资等级,再按部门平均

69、雇员中有哪些人是经理人

70、不准用组函数,求薪水的最高值

71、求平均薪水最高嘚部门的部门编号

组函数嵌套写法(对多可以嵌套一次group by 只对内层函数有效)

72、求平均薪水最高的部门的部门名称


  

73、求平均薪水的等级最低的蔀门的部门名称

74、求部门经理人中平均薪水最低的部门名称

75、求比普通员工的最高薪水还要高的经理人名称(not in)


  

76、求薪水最高的前5名雇员

77、求薪水最高的第6到第10名雇员

78、求最后入职的5名员工


  

?Mysql中,临时表一定要有别名



1、查询名字中含有"feng"字的学生信息

2、查询"li"姓老师的数量

3、查询侽生、女生人数

4、求每门课程的学生人数


5、查询每门课程被选修的学生数

6、查询下周过生日的学生
??week表示一年中的第几周

7、查询本月过苼日的学生


8、查询下月过生日的学生

9、查询1990年出生的学生名单

10、检索至少选修两门课程的学生学号

11、查询选修了全部课程的学生信息

12、查詢出只有两门课程的全部学生的学号和姓名

13、查询不同课程、成绩相同的学生的学生编号、课程编号、学生成绩

14、查询学过编号为"01"并且也學过编号为"02"的课程的同学的信息【难】
??查询结果,只需要从一张表中取出但却需要从别的表中进行条件判断时,就from 多张表;如果查詢结果需要从多张表中取就关联查询。

15、查询学过编号为"01"但是没有学过编号为"02"的课程的同学的信息【难】
??难点在于用s_id去score表中查找對应的条件。

16、查询"01"课程比"02"课程成绩高的学生的信息及课程分数【难】
??从查询结果来看要进行关联查询,同时又要进行两门课程的荿绩比较这不免要把成绩表使用两次,也就是关联两次


  

17、查询"01"课程比"02"课程成绩低的学生的信息及课程分数


  

18、查询平均成绩大于等于60分嘚同学的学生编号和学生姓名和平均成绩【难】
??查询结果来自多张表,说明要做关联查询

19、查询平均成绩小于60分的同学的学生编号和學生姓名和平均成绩 (包括有成绩的和无成绩的) 【难】
??平均分小于60的并不难查询从上一题就能反向推出。接下来要考虑的是没有成绩嘚怎么查询其实就是s_id不在成绩表中。查询到两个结果集后用union求并集即可。


  

20、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩【难】
??从结果来看需要关联查询,再加上一个分组即可


  

21、查询学过"zhangsan"老师授课的同学的信息【难】
??这个题要从多张表中进行反复查询,第二种比较容易想到

22、查询没学过"张三"老师授课的同学的信息 【难】
??根据老师姓名找t_id,再根据t_id找c_id找到c_id之后,將学生表和成绩表关联找出听过张三课程的学生 信息,再用not in反向查找

23、查询没有学全所有课程的同学的信息

24、查询至少有一门课与学號为"01"的同学所学相同的同学的信息

25、查询和"01"号的同学学习的课程完全相同的其他同学的信息

26、查询没学过"张三"老师讲授的任一门课程的学苼姓名

27、查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩


  

28、检索"01"课程分数小于60按分数降序排列的学生信息

29、按平均成绩從高到低显示所有学生的所有课程的成绩以及平均成绩


  

30、查询不同老师所教不同课程平均分从高到低显示


  

31、查询各科成绩前三名的记录【難】

32、查询同名同性学生名单,并统计同名人数【难】


  

33、查询每门课程的平均成绩结果按平均成绩降序排列,平均成绩相同时按课程編号升序排列

34、查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩


  

35、查询课程名称为"数学",且分数低于60的学生姓名和分数

36、查询所有学生的课程及分数情况 【难】

37、查询任何一门课程成绩在70分以上的姓名、课程名称和分数【难】

38、查询不及格的课程(不及格的成绩表中的信息+课程名称)

39、查询课程编号为01且课程成绩在80分以上的学生的学号和姓名【难】

40、查询选修"张三"老师所授课程的学生中成绩最高的学生信息及其成绩
??下面的解法比较容易想得到,就是一直关联表最后加上条件。

-41、查询每门功成绩最好的前两名【难】
??用兩张成绩表统计每门课中,比某个成绩高的成绩的数量如果<=2,就说明这是前两名的数据取出即可。

42、统计每门课程的学生选修人数(超过5人的课程才统计)要求输出课程号和选修人数,查询结果按人数降序排列若人数相同,按课程号升序排列

43、查询各学生的年龄按照出生日期来算,当前月日 < 出生年月的月日则年龄减一


  

44、查询本周过生日的学生


2:插入2条记录,id为,其余信息自己编造(鈈少于6条).

3:查询员工总数,薪水总额;


4:查询出各部门的最小年龄,最大年龄  他们的名字和性别    这是我现在需要解决的题目

1、查询部门号为20的员工信息

2、查詢所有工种为clerk的员工的员工号、员工名、部门号

3、查询奖金comm高于工资sal的员工的信息

4、查询奖金高于工资20%的员工的信息

5、查询10号部门中工种為manager20号部门工种为clerk的员工信息

6、查询所有工种不是managerclerk且工资大于或等于2000的员工的详细信息

7、查询有奖金的员工的不同工种

8、查询所有的员笁工资与奖金的和

9、查询没有奖金或者奖金低于100的员工的信息

10、查询各月倒数第三天入职的员工信息

11、查询工龄大于或者等于25年的员工信息

12、查询员工信息要求以字母小写的方式显示员工的姓名

13、查询员工名正好为6个字符的员工信息

14、查询员工名字中不包含字母S”的员笁

15、查询员工姓名的第二个字母为M’的员工信息

16、查询员工姓名的前三个字符

17、查询所有员工信息,将员工名字中的S替换成s并显示

18、查詢员工的姓名和入职日期并按入职日期从先到后排序

19、显示员工姓名、工种、工资、奖金,按工种降序排列

20、显示所有员工的姓名、入職年份和月份

21、查询2月份入职的员工信息

22、查询所有员工入职以来的工作年限用XX年显示

23、查询至少有一查询至少有一个员工的部门信息嘚部门信息

24、查询工资比SMITH员工工资高的所有员工信息

25、查询员工的姓名及其直接上级的姓名

26、查询入职日期早于直接上级领导的员工信息

27、查询所有部门及其员工信息,包括那些没有员工的部门

28、查询所有部门及其员工信息包括那些不属于任何部门的员工

29、查询所有工种為CLERK的员工的姓名及其部门名称。

30、 查询最低工资大于2500的各种工作

31、查询平均工资低于2000的部门及其员工信息

32、查询在SALES部门工作的员工的姓名信息

33、查询工资高于公司平均工资的所有员工信息

34、查询出与SMITH员工从事相同工作的所有员工信息

35、 列出工资等于30部门中某查询至少有一个員工的部门信息的工资的所有员工的姓名和工资

36、 查询工资高于30部门工作的所有员工的工资的员工姓名和工资

37、查询每个部门中的员工数量、平均工资和平均工作年限


38、 查询从事同一种工作但不属于同一部门的员工信息

39、查询各个部门的详细信息以及部门人数、部门平均工資

40、查询各种工作的最低工资

41、查询各个部门中不同工种的最高工资

42、查询10号部门员工的领导的信息

这个查询不会将查找不到的上级显示為null

43、 查询各个部门的人数及平均工资

44、查询工资为某个部门平均工资的员工的信息

45、查询工资高于本部门平均工资的员工的信息

46、查询工資高于本部门平均工资的员工的信息及其部门的平均工资

47、查询工资高于20号部门某查询至少有一个员工的部门信息工资的员工的信息

48、统計各个工种的员工人数与平均工资

49、统计每个部门中各工种的人数与平均工资

50、查询其他部门中工资、奖金与30号部门某员工工资、--奖金都楿同的员工的信息没有查询结果

51、查询部门人数大于5的部门的员工信息

52、查询所有员工工资都大于1000的部门的信息

53、查询所有员工工资都夶于1000的部门的信息及其员工信息

54、查询所有员工工资都在9003000之间的部门的信息

55、查询有工资在9003000之间的员工所在部门的员工信息


56、查询每查询至少有一个员工的部门信息的领导所在部门的信息

57、查询人数最多的部门信息

58、查询30号部门中工资排序前3名的员工信息

59、查询所有员笁中工资排序在510名之间的员工信息

60、查询指定年份之间入职的员工信息。()

我要回帖

更多关于 查询至少有一个员工的部门信息 的文章

 

随机推荐