这是对的吗?我觉得我的逻辑在这里是错误的,但我需要列出比“IT”部门注册的至少一名学生晚开始学习的学生。
SELECT studentid, year
FROM enrolled, course
WHERE program = 'IT' and year >= ALL (
SELECT year FROM enrolled);
enrolled(studentid, courseID, year)
course(courseid, department)
我相信除了where部分之外一切都是正确的
<小时/>抱歉,我给出了错误的架构,它应该来自
学生(sid,开始,程序)
但我相信它现在可以用了,谢谢
SELECT sid, started
FROM student
WHERE started > (
SELECT MIN(started)
FROM student
WHERE program = 'IT');
最佳答案
分步骤进行
第一个进入“IT”的学生(猜测有一个名为program的栏目)
SELECT MIN(year)
FROM enrolled
WHERE program = 'IT'
列出入学时间晚于至少一名就读“IT”系的学生的学生。
SELECT studentid, year
FROM enrolled
WHERE year > (
SELECT MIN(year)
FROM enrolled
WHERE program = 'IT'
)
关于mysql - 具有比较日期的嵌套子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40027904/