sql句子(推荐115句)

sql句子(推荐115句),第1张

1、查询所有员工的信息:

2、SELECT*FROM员工表;

3、查询员工表中的所有在职员工:

4、SELECT*FROM员工表WHERE在职状态='在职';

5、查询员工表中的所有离职员工的姓名和离职原因:

6、SELECT姓名,离职原因FROM员工表WHERE在职状态='离职';

7、查询员工表中的所有女性员工:

8、SELECT*FROM员工表WHERE性别='女';

9、查询员工表中的所有男性非管理职位员工的姓名和工号:

10、SELECT姓名,工号FROM员工表WHERE性别='男'AND职位NOTLIKE'%管理%';

11、查询员工表中的所有员工的姓名和工资:

12、SELECT姓名,工资FROM员工表;

13、查询员工表中工资最高的员工的姓名和工资:

14、SELECT姓名,工资FROM员工表WHERE工资=(SELECTMAX(工资)FROM员工表);

15、查询员工表中工资最低的员工的姓名和工资:

16、SELECT姓名,工资FROM员工表WHERE工资=(SELECTMIN(工资)FROM员工表);

17、查询员工表中工资大于10000的员工数:

18、SELECTCOUNT(*)FROM员工表WHERE工资>10000;

19、查询员工表中全职员工的平均工资:

20、SELECTAVG(工资)FROM员工表WHERE就职形式='全职';

21、查询员工表中拥有高级证书的员工的姓名:

22、SELECT姓名FROM员工表WHERE证书LIKE'%高级证书%';

23、查询员工表中每个部门的员工数:

24、SELECT部门,COUNT(*)FROM员工表GROUPBY部门;

25、查询员工表中每个部门平均工资高于10000的部门:

26、SELECT部门,AVG(工资)FROM员工表GROUPBY部门HAVINGAVG(工资)>10000;

27、查询员工表中每个部门的最高工资:

28、SELECT部门,MAX(工资)FROM员工表GROUPBY部门;

29、查询员工表中每个部门最低和最高工资的差距:

30、SELECT部门,MAX(工资)-MIN(工资)FROM员工表GROUPBY部门;

31、查询员工表中前十个月入职的员工的姓名和入职日期:

32、SELECT姓名,入职日期FROM员工表ORDERBY入职日期ASCLIMIT10;

33、查询员工表中上一个月离职的员工的姓名:

34、SELECT姓名FROM员工表WHERE离职日期BETWEENDATE_SUB(NOW(),INTERVAL1MONTH)ANDNOW();

35、查询员工表中出生日期在1980年之后的员工的姓名和出生日期:

36、SELECT姓名,出生日期FROM员工表WHERE出生日期>'1980-01-01';

37、查询员工表中在同一部门中工作年限最长的员工的姓名和工作年限:

38、SELECTe1.姓名,DATEDIFF(NOW(),e1.入职日期)/365.25FROM员工表e1JOIN(SELECT部门,MAX(DATEDIFF(NOW(),入职日期))AS最长工作年限FROM员工表GROUPBY部门)e2ONe1.部门=e2.部门ANDDATEDIFF(NOW(),e1.入职日期)=e2.最长工作年限;

39、查询员工表中每个部门工资排名第二的员工的姓名、部门和工资:

40、SELECTe1.姓名,e1.部门,e1.工资FROM员工表e1JOIN(SELECT部门,DENSE_RANK()OVER(PARTITIONBY部门ORDERBY工资DESC)AS排名FROM员工表)e2ONe1.部门=e2.部门ANDe2.排名=2;

41、统计员工表中男性和女性员工的数量:

42、SELECT性别,COUNT(*)FROM员工表GROUPBY性别;

43、查询员工表中包含"销售"关键字的所有职位:

44、SELECTDISTINCT职位FROM员工表WHERE职位LIKE'%销售%';

45、查询员工表中每种证书持有者的数量:

46、SELECT证书,COUNT(*)FROM员工表WHERE证书<>''GROUPBY证书;

47、查询员工表中在北京、上海、广州和深圳工作的员工的数量:

48、SELECTCOUNT(*)FROM员工表WHERE工作城市IN('北京','上海','广州','深圳');

49、查询员工表中入职日期在2015年的员工的数量:

50、SELECTCOUNT(*)FROM员工表WHEREYEAR(入职日期)=2015;

51、查询员工表中所有出生日期在星期五的员工的姓名和出生日期:

52、SELECT姓名,出生日期FROM员工表WHEREWEEKDAY(出生日期)=4;

53、查询员工表中工资在10000到20000之间的员工数量:

54、SELECTCOUNT(*)FROM员工表WHERE工资BETWEEN10000AND20000;

55、查询员工表中除了"北京"之外的所有工作城市:

56、SELECTDISTINCT工作城市FROM员工表WHERE工作城市<>'北京';

57、查询员工表中每个部门工资排名前三的员工的姓名、部门和工资:

58、SELECTe1.姓名,e1.部门,e1.工资FROM员工表e1JOIN(SELECT部门,DENSE_RANK()OVER(PARTITIONBY部门ORDERBY工资DESC)AS排名FROM员工表)e2ONe1.部门=e2.部门ANDe2.排名<=3;

59、查询员工表中所有季度入职的员工的数量:

60、SELECTCOUNT(*)FROM员工表WHEREQUARTER(入职日期)=QUARTER(NOW());

61、查询员工表中每个职位持有人数最多的证书:

62、SELECT职位,SUBSTRING_INDEX(证书,',',1)AS最多证书FROM员工表GROUPBY职位HAVINGCOUNT(*)=(SELECTCOUNT(*)FROM员工表e2WHEREe2.职位=e1.职位GROUPBYe2.职位ORDERBYCOUNT(*)DESCLIMIT1);

63、查询员工表中所有拥有至少三种证书的员工的姓名:

64、SELECT姓名FROM员工表WHERE(LENGTH(证书)-LENGTH(REPLACE(证书,',','')))>=2;

65、查询员工表中每个部门拥有最多证书的员工的姓名和证书:

66、SELECTe1.姓名,e1.证书FROM员工表e1JOIN(SELECT部门,SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(证书ORDERBYLENGTH(证书)DESC),',',1),',',-1)AS最多证书FROM员工表GROUPBY部门)e2ONe1.部门=e2.部门ANDe1.证书LIKECONCAT('%',e2.最多证书,'%');

67、查询员工表中工作年限超过5年的员工的数量:

68、SELECTCOUNT(*)FROM员工表WHEREDATEDIFF(NOW(),入职日期)/365.25>5;

69、查询员工表中离职员工中有高级证书的人数:

70、SELECTCOUNT(*)FROM员工表WHERE在职状态='离职'AND证书LIKE'%高级证书%';

71、查询员工表中所有血型为O型的员工的编号:

72、SELECT工号FROM员工表WHERE血型='O';

73、查询员工表中拥有"教育"关键字且工作城市为"北京"的员工的姓名和工作城市:

74、SELECT姓名,工作城市FROM员工表WHERE证书LIKE'%教育%'AND工作城市='北京';

75、查询员工表中每个职位的平均工资:

76、SELECT职位,AVG(工资)FROM员工表GROUPBY职位;

77、查询员工表中每个部门的平均工资与公司平均工资的差距:

78、SELECT部门,AVG(工资)-(SELECTAVG(工资)FROM员工表)FROM员工表GROUPBY部门;

79、查询员工表中每个职位工作年限排名前三的员工的姓名、职位和工作年限:

80、SELECTe1.姓名,e1.职位,DATEDIFF(NOW(),e1.入职日期)/365.25FROM员工表e1JOIN(SELECT职位,DENSE_RANK()OVER(PARTITIONBY职位ORDERBYDATEDIFF(NOW(),入职日期)DESC)AS排名FROM员工表)e2ONe1.职位=e2.职位ANDe2.排名<=3;

81、查询员工表中所有拥有三年及以上工作经验的员工的姓名和入职日期:

82、SELECT姓名,入职日期FROM员工表WHEREDATEDIFF(NOW(),入职日期)/365.25>=3;

83、查询员工表中每个部门最新离职的员工的姓名和离职日期:

84、SELECTe1.姓名,e1.离职日期FROM员工表e1LEFTJOIN员工表e2ONe1.部门=e2.部门ANDe1.离职日期

85、查询员工表中每种证书持有者的平均工资:

86、SELECT证书,AVG(工资)FROM员工表WHERE证书<>''GROUPBY证书;

87、查询员工表中每个部门的平均工作年限:

88、SELECT部门,AVG(DATEDIFF(NOW(),入职日期)/365.25)FROM员工表GROUPBY部门;

89、查询员工表中所有持有第一类证书的员工的姓名和证书:

90、SELECT姓名,证书FROM员工表WHERE证书REGEXP'^第一类';

91、查询员工表中入职日期在2015年第二季度或2016年第一季度的员工的姓名和入职日期:

92、SELECT姓名,入职日期FROM员工表WHERE(YEAR(入职日期)=2015ANDQUARTER(入职日期)=2)OR(YEAR(入职日期)=2016ANDQUARTER(入职日期)=1);

93、查询员工表中所有持有高级及以上资格证书的员工的姓名和证书:

94、SELECT姓名,证书FROM员工表WHERE证书REGEXP'高级|博士|硕士|副教授|教授';

95、查询员工表中入职日期在2015年11月到2016年3月期间的员工的姓名和入职日期:

96、SELECT姓名,入职日期FROM员工表WHERE入职日期BETWEEN'2015-11-01'AND'2016-03-31';

97、查询员工表中每个职位工资排名最高的员工的姓名、职位和工资:

98、SELECTe1.姓名,e1.职位,e1.工资FROM员工表e1JOIN(SELECT职位,MAX(工资)AS最高工资FROM员工表GROUPBY职位)e2ONe1.职位=e2.职位ANDe1.工资=e2.最高工资;

99、查询员工表中每个部门流动性最高的员工的姓名、部门和平均工作年限:

100、SELECTe1.姓名,e1.部门,AVG(DATEDIFF(e2.入职日期,e1.入职日期)/365.25)AS平均工作年限FROM员工表e1JOIN员工表e2ONe1.部门=e2.部门ANDe2.入职日期>e1.入职日期GROUPBYe1.姓名,e1.部门ORDERBY平均工作年限DESCLIMIT1;

101、查询员工表中所有职位包含"经理"或"总监"关键字的员工的姓名和职位:

102、SELECT姓名,职位FROM员工表WHERE职位REGEXP'经理|总监';

103、查询员工表中每个部门的离职率:

104、SELECT部门,COUNT(*)/(SELECTCOUNT(*)FROM员工表WHERE在职状态='在职'AND部门=e1.部门)AS离职率FROM员工表e1WHERE在职状态='离职'GROUPBY部门;

105、查询员工表中每种血型持有者的平均工资:

106、SELECT血型,AVG(工资)FROM员工表WHERE血型<>''GROUPBY血型;

107、查询员工表中每个职位的人数和平均工作年限:

108、SELECT职位,COUNT(*),AVG(DATEDIFF(NOW(),入职日期)/365.25)FROM员工表GROUPBY职位;

109、查询员工表中每个部门中工作年限排名前两名的员工的姓名和部门:

110、SELECTe1.姓名,e1.部门FROM员工表e1JOIN(SELECT部门,DENSE_RANK()OVER(PARTITIONBY部门ORDERBYDATEDIFF(NOW(),入职日期)DESC)AS排名FROM员工表)e2ONe1.部门=e2.部门ANDe2.排名<=2;

111、查询员工表中所有居住在"南京"或"北京"的员工的姓名和所属部门:

112、SELECT姓名,部门FROM员工表WHERE所在城市IN('南京','北京');

113、查询员工表中在职且已经工作满5年但未晋升的员工的姓名和入职日期:

114、SELECT姓名,入职日期FROM员工表WHERE在职状态='在职'ANDDATEDIFF(NOW(),入职日期)/365.25>5AND职位NOTLIKE'%经理%'AND职位NOTLIKE'%总监%';

115、查询员工表中每个部门离职之后重新招聘的员

0
分享到