gpt4 book ai didi

sql - 如何获取未在多对多关系中表示的行?

转载 作者:行者123 更新时间:2023-12-05 00:06:56 25 4
gpt4 key购买 nike

我在学生和类(class)之间存在多对多关系,如下所示。我想获取所有未注册任何类(class)的学生的 ID。

many-to-many relationship

由于数据集的大小,我想避免使用 NOT IN。有没有更有效的解决方案?

最佳答案

NOT EXISTS 应该给你最好的性能。见 Left outer join vs NOT EXISTS更多细节。

SELECT s.StudentID
FROM student s
WHERE NOT EXISTS(SELECT NULL
FROM student_class sc
WHERE sc.StudentID = s.StudentID)

关于sql - 如何获取未在多对多关系中表示的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7488427/

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