我已经弄乱了一段时间,似乎无法弄清楚如何将以下代码从 INTERSECT 形式(MySQL 不支持)转换为 INNER JOIN 形式。
如果有人可以将以下代码转换为 INNER JOIN 我想我可以从示例中理解。提前致谢!
(SELECT Student.SSN, First_Name, Last_Name
FROM Student, Enrolls
WHERE Enrolls.SSN = Student.SSN AND CourseNo='CSC132')
INTERSECT
(SELECT Student.SSN, First_Name, Last_Name
FROM Student, Enrolls
WHERE Enrolls.SSN = Student.SSN AND CourseNo='CSC134');
最佳答案
SELECT SSN, First_Name, Last_Name
FROM student s
WHERE (
SELECT COUNT(*)
FROM enrolls e
WHERE e.ssn = s.ssn
AND e.courseNo IN ('CSC132', 'CSC134')
) = 2
我希望你不是真的使用 SSN
是 PRIMARY KEY
。
关于MySQL INTERSECT 替换 INNER JOIN - 请解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5789484/