gpt4 book ai didi

MYSQL WHERE NOT查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:21 25 4
gpt4 key购买 nike

我正在做一个教师可以给学生分配徽章的项目,它类似于成就系统。

现在我正在尝试了解没有特定徽章的学生的概况,但我使用的查询不起作用。

我创建了一个名为 StudentHasBadge 的表,其中保存了 studentnumberbadge_id

例子:我想显示没有“英语:阅读”徽章的学生列表(s.studentnumber、s.firstname、s.lastname)。

我使用以下查询:

(英文:Reading 在我的数据库中有 badge_id 61)

SELECT DISTINCT s.studentnumber, s.firstname, s.lastname 
FROM students s INNER JOIN student_has_badge shb
ON s.studentnumber = shb.studentnumber
WHERE NOT shb.badge_id = 61

结果我也得到了获得徽章的学生

我也尝试了 != 而不是 WHERE NOT,但它并没有给我不同的结果

最佳答案

您可以使用 LEFT JOIN 并检查是否匹配:

SELECT s.studentnumber, s.firstname, s.lastname
FROM students s LEFT JOIN
student_has_badge shb
ON s.studentnumber = shb.studentnumber AND shb.badge_id = 61
WHERE shb.studentnumber IS NULL;

关于MYSQL WHERE NOT查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44785452/

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