![](/img/trans.png)
[英]SQL Query for getting total students who registered for more then 5 courses in a semester
[英]Sql query to find everything about the students who are not registered in a particular class
假设我有三个表Student,Class,Student_Class(链接表)。
Table:Student
Student_ID
FirstName
LastName
Table:Class
Class_ID
Class_name
Table:Student_Class (Linking Table)
StudentClass_ID
Class_ID
Student_ID
给定一个特定的Class_ID,我想了解有关未注册该特定班级的学生的所有信息。
我尝试了以下操作,但不起作用。 可以说我尝试输入班级ID = 3
SELECT DISTINCT Student.*
FROM Student
INNER JOIN Student_Class
ON Student.Student_ID = Student_Class.Student_ID
WHERE ((NOT (Student_Class.Class_ID)= 3))
Student INNER JOIN Student_Class ON (Student.Student_ID = Student_Class.Student_ID)
(Student_Class.Class_ID <> 3)
SELECT Student.*
FROM Student INNER JOIN Student_Class
ON (Student.Student_ID = Student_Class.Student_ID)
WHERE (Student_Class.Class_ID <> 3);
SELECT Student.*
FROM
(
SELECT Student.*
, Student_Class.Class_ID
FROM Student LEFT JOIN Student_Class ON Student.Student_ID = Student_Class.Student_ID
WHERE ((Student_Class.Class_ID <> 3) OR (Student_Class.Class_ID IS NULL))
) Student LEFT JOIN Class ON Student.Class_ID = Class.Class_ID
;
下面的查询将显示所有未参加1个或更多课程的学生,包括班级名称。
SELECT Student.Student_ID, Student.FirstName, Student.LastName,
Class.Class_ID, Class.Class_name
FROM Class, Student
WHERE NOT EXISTS
(
SELECT *
FROM Student_Class
WHERE Student_Class.Student_ID = Student.Student_ID AND
Student_Class.Class_ID = Class.Class_ID
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.