gpt4 book ai didi

使用 NULL 的 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 11:42:54 25 4
gpt4 key购买 nike

我有两张表,学生和学校。

学生

stid | stname | schid |  status   

学校

schid | schname

Status 对于临时学生来说可以是很多东西,但是对于永久学生来说是 NULL

如何列出没有临时学生的学校名称?

最佳答案

使用条件聚合,您可以计算每个学校永久学生的数量。

如果一所学校的总人数与学校的条件人数相同,则该学校没有任何临时学生

使用JOIN

SELECT sc.schid, 
sc.schname
FROM student s
JOIN school sc
ON s.schid = sc.schid
GROUP BY sc.schid,
sc.schname
HAVING( CASE WHEN status IS NULL THEN 1 END ) = Count(*)

另一种使用EXISTS的方法

SELECT sc.schid, 
sc.schname
FROM school sc
WHERE EXISTS (SELECT 1
FROM student s
WHERE s.schid = sc.schid
HAVING( CASE WHEN status IS NULL THEN 1 END ) = Count(*))

关于使用 NULL 的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35822621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com