我有表学生,其中列有学生ID和学生姓名。我还有表事件,其中有ID、Student ID和Event列。
现在,我想要编写一个查询,它将只返回学生表中的行,这些行的学生ID存在于事件表中。
我正在运行MySql 5+。
发布于 2010-01-24 20:56:47
除了JOIN和IN之外,您还可以使用EXISTS
SELECT * FROM Students s
WHERE EXISTS (SELECT *
FROM Events e
WHERE e.StudentID = s.StudentID)发布于 2010-01-24 20:50:43
简单的内部连接:
SELECT DISTINCT(Students.Id, Students.StudentName)
FROM Students
JOIN Events on Students.StudentId = Events.StudentId
ORDER BY Students.StudentName发布于 2010-01-24 20:52:04
SELECT * FROM Students
WHERE StudentID IN (SELECT StudentID
FROM Events
WHERE Events.StudentID = Students.StudentID) https://stackoverflow.com/questions/2127062
复制相似问题