【发布时间】:2020-10-04 01:06:02
【问题描述】:
我有一个有 5 个表的数据库
COURSES (CourseID, CourseName, Credit) // CourseID 是主键
TEACHERS (SSN, Name) // SSN 是主键
OFFER (CourseID, SSN) // CourseID 和 SSN 是外键
STUDENTS (StudentID, Name, Department) // StudentID 是主键
ENROLL(StudentID,CourseID,学期 em>)
并且我想查找注册课程的学生的姓名,这些课程由名为“Jack Lion”的学生注册。
我尝试了以下语句,但我不知道如何解决。
SELECT STUDENTS.Name from STUDENTS
WHERE STUDENTS.StudentID IN (SELECT ENROLL.StudentID from ENROLL
-- I don't know what to write here
)
我刚走到这一步,你能帮我吗,或者至少给我一些例子来帮助我解决这个问题。顺便说一下,我用的是微软的sql server。
【问题讨论】:
-
必须使用子查询是课程要求吗?他们是否必须注册杰克注册的所有课程?
-
用sql server为什么要标记其他数据库?
-
@Shawn 因为我认为 mssql 和 mysql 等没有什么不同。
-
@byakuyaxx2 '彼此没有那么不同' - 情况并非如此,答案可能会有很大不同 - 因为它们可能适用于 sqlserver,具体取决于您使用的版本..PS 你是哪个版本开吗?
-
@P.Salmon 是的,你是对的。我用的是MSSQL server management studio 18。但是我必须使用SQL-99 Standarts来解决这个问题。
标签: sql sql-server sqlite