SELECT 中的布尔值 - 需要帮助
Boolean inside SELECT - help needed
我需要编写一个 SQL 查询来获取部门名称和该部门的女教授人数,即使该部门没有聘用任何女教授也是如此。请帮忙。谢谢。
STUDENT
id
first_name
last_name
is_female
department_id
DEPARTMENT
id
name
PROFESSOR
id
first_name
last_name
is_female
department_id
这是我的查询:
SELECT
department.name, COUNT(professor.is_female)
FROM
department, professor
WHERE
department.id = professor.department_id
不确定为什么要包含学生 table,但请尝试以下相关子查询:
select name, (select count(*) from PROFESSOR where DEPARTMENT.id = PROFESSOR.department_id and is_female = true) as 'count'
from DEPARTMENT
或左连接:
select name, count(*)
from DEPARTMENT
left join PROFESSOR on DEPARTMENT.id = PROFESSOR.department_id and is_female = true
group by 1
我需要编写一个 SQL 查询来获取部门名称和该部门的女教授人数,即使该部门没有聘用任何女教授也是如此。请帮忙。谢谢。
STUDENT |
---|
id |
first_name |
last_name |
is_female |
department_id |
DEPARTMENT |
---|
id |
name |
PROFESSOR |
---|
id |
first_name |
last_name |
is_female |
department_id |
这是我的查询:
SELECT
department.name, COUNT(professor.is_female)
FROM
department, professor
WHERE
department.id = professor.department_id
不确定为什么要包含学生 table,但请尝试以下相关子查询:
select name, (select count(*) from PROFESSOR where DEPARTMENT.id = PROFESSOR.department_id and is_female = true) as 'count'
from DEPARTMENT
或左连接:
select name, count(*)
from DEPARTMENT
left join PROFESSOR on DEPARTMENT.id = PROFESSOR.department_id and is_female = true
group by 1