数据表USERS,DEPT,数据如下:
USERS表:
DEPT表:
1、查询出全部用户并显示其所在部门名称,显示结果如下:
部门名称 | 姓名 |
档案室 | 用户1 |
… | … |
sql:
select a.DEPTNAME as 部门名称,b.USERNAME as 用户 from USERS a inner join DEPT b on a.ID=b.DEPT_ID;
2、将用户部门名称为"总裁办"的性别为"女"员工调入"档案室"
sql:update DEPT set DEPT_ID=1 where DEPT_ID=4 and SEX="女";
3、查询出全部部门人员超过1人的部门并显示该部门人数
部门名称 | 人数 |
档案室 | 2 |
… | … |
having :HAVING相当于条件筛选,但它与WHERE筛选不同,HAVING是对于GROUP BY对象进行筛选
4、统计各部门男员工和女员工人数,显示结果如下
部门名称 | 男 | 女 |
档案室 | 2 | 2 |
… | … | … |
sql : select a.DEPTNAME as 部门,sum(case when b.SEX='男' then 1 else 0 end ) as 男,sum(case when SEX='女' then 1 else 0 end ) 女 from USERS a inner join DEPT b on a.ID=b.DEPT_ID group by a.DEPTNAME;