我有这4张桌子
1. course
------------------------
CourseID CourseNum CourseName
2. courseRequirements
------------------------
CourseNum ReqNum
3. semestercourses
------------------------
CourseID
4. studentcoursecomplete
-----------------------
CourseID StudentID
我不知道如何启动并执行sql语句
声明必须遵循以下
1 - 显示课程名称,其中包括课程课程。课程ID = semestercourses.CourseID
2 - 不要显示学生完成“studentcoursecomplete”的课程
3 - 不要显示要求学生没有完成的课程
示例
本学期有3门课程(英语2,数学,运动)执行此操作的select语句是什么!!!!
答案 0 :(得分:0)
只是一个猜测(基于你说的),但我认为LEFT JOINS可以帮助你。问题是必须包含其他表中不存在的行,基本格式如下:
SELECT course.*
FROM course
LEFT JOIN studentcoursecomplete ON studentcoursecomplete.CourseID = course.CourseID
LEFT JOIN courseRequirements ON courseRequirements.CourseNum = course.CourseNum
WHERE courseRequirements.CourseNum IS NULL
AND studentcoursecomplete.CourseID IS NULL
左连接将为左表中的所有行提供右表中的所有匹配行,右表中的列为NULL,其中没有匹配项。因此,您可以测试NULL以查找右表中没有匹配的位置。
这不一定是完整的解决方案,但希望能给你一些想法。