数据来源:POINT.    表 t_employees,表 t_dept_emp,表 t_departments

【SQL基础】基础语句练习 04

【SQL基础】基础语句练习 04                               【SQL基础】基础语句练习 04

练习内容:报表制作

一个SQL入门网站:http://www.w3school.com.cn/sql/index.asp 

 

Q:做一张报表,显示出每一个部门男女员工的比例

SELECT

    dept_name AS '部门',

    COUNT(IF(X.gender = 'M',1,NULL))/COUNT(*) AS '男员工占比',

    COUNT(IF(X.gender = 'F',1,NULL))/COUNT(*) AS '女员工占比'

FROM t_departments AS C

LEFT JOIN (

SELECT A.emp_no,B.dept_no,A.gender

FROM t_employees AS A

LEFT JOIN t_dept_emp AS B ON A.emp_no = B.emp_no

) AS X

ON C.dept_no = X.dept_no

WHERE dept_name IS NOT NULL

GROUP BY dept_name

【SQL基础】基础语句练习 04

 

注:SQL中的if语句

IF(expr1, expr2, expr3)

如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

相关文章:

  • 2021-09-25
  • 2022-01-20
猜你喜欢
  • 2021-11-15
  • 2022-12-23
  • 2021-12-12
  • 2022-02-01
  • 2021-12-04
  • 2021-12-28
  • 2021-06-10
相关资源
相似解决方案