前言

[[210739]]

中午吃饭的时候无意中在QQ群里突然看到一道有趣的面试题,直到午休结束群里都没人回复第二道题的答案,可能是因为sql太长,大家懒得写了,遂开一篇文章记录一下,题目如下:

答案

1.简单的update语句,需要注意的是员工表中的age和salary都是int型

    UPDATEtbEmployeeSETsalary=salary+200WHEREage>=40ANDsalary<2000;

2.涉及多表查询及子查询,可能我的sql写的有点长

    WITHempAS(SELECTtbD.NAME,tbE.IDFROMtbDepartmemtEmployeetbDELEFTJOINtbEmployeetbEONtbDE.employeeId=tbE.IDLEFTJOINtbDepartmenttbDONtbDE.ID=tbD.IDWHEREtbE.age>=40ANDtbE.sqlary<2000)SELECTemp.NAME,COUNT(emp.NAME)FROMempGROUPBYemp.NAMEORDERBYCOUNT(emp.NAME)DESC