# 想要没有学生的部门也保存,就得以部门表作为主表#字母表顺序就是升序SELECT d.dept_name,IFNULL(s1.number,0) student_number
FROM Department d
LEFTJOIN(SELECT dept_id,count(*) number
FROM Student s
GROUPBY dept_id
)s1
ON d.dept_id=s1.dept_id
ORDERBY s1.number desc,d.dept_name asc;
1.3 运行截图
2 不同国家的天气类型
2.1 题目内容
2.1.1 基本题目信息
2.1.2 示例输入输出
a 示例输入
b 示例输出
2.2 示例sql语句
SELECT c.country_name,w.weather_type
FROM
Countries c
INNERJOIN(SELECT country_id,if(avg(weather_state)<=15,'Cold',(if(avg(weather_state)>=25,'Hot','Warm'))) weather_type
FROM Weather
WHERE date_format(day,"%Y-%m")='2019-11'GROUPBY country_id
)w
ON w.country_id=c.country_id;
2.3 运行截图
3 换座位
3.1 题目内容
3.1.1 基本题目信息
3.1.2 示例输入输出
3.2 示例sql语句
# case when then和if有时可以实现一样的功能# MOD(N, M) 可以得到n除以m后的余数SELECTIF(MOD(id,2)=0,id-1,IF(id=(SELECTcount(*)FROM Seat),id,id+1)) id,student
FROM Seat
ORDERBY id asc;