sql查询没有学生选的课程信息

问题:查询没有学生选的课程信息
表dbo.Student

列名 数据类型
Stu_id varchar(10)
Stu_name varchar(10)
Stu_sex varchar(2)
Birthdate datetime
Phone varchar(8)
Address varchar(100)

表dbo.Course

列名 数据类型
Course_id varchar(4)
Course_name varchar(20)
Course_hour int
Introduce varchar(200)

表dbo.StudentCourse

列名 数据类型
Stu_id varchar(10)
Course_id varchar(4)
Grade decimal(9, 2)

解法一:子查询查找表StudentCourse中被选的课程号;父查询表Course中的课程号不包括子查询结果

SELECT DISTINCT Course.Course_id,Course_name
FROM Course
WHERE Course.Course_id NOT IN(SELECT Course_id FROM StudentCourse)

解法二:这个解法将NOT IN换成了NOT EXISTS

SELECT  DISTINCT Course.Course_id,Course.Course_name
FROM Course
WHERE NOT EXISTS
   (SELECT * FROM StudentCourse WHERE StudentCourse.Course_id=Course.Course_id)
发布了14 篇原创文章 · 获赞 2 · 访问量 623

猜你喜欢

转载自blog.csdn.net/zys_shan/article/details/105605233