查询学号为20101259的同学没有选修的课程的课程名用SQL语句表示
时间: 2024-03-17 16:47:20 浏览: 26
可以使用以下 SQL 语句查询学号为20101259的同学没有选修的课程的课程名:
```
SELECT course_name
FROM course
WHERE course_id NOT IN (
SELECT course_id
FROM score
WHERE student_id = '20101259'
);
```
该语句中,首先在 `score` 表中查询学号为20101259的同学所选的课程,然后在 `course` 表中查找所有未被查出的课程,最终返回这些课程的课程名。
相关问题
)查询没有选修课程的学生学号,姓名用sql语句
可以使用左连接和 IS NULL 来解决这个问题。以下是一种可能的 SQL 语句:
```
SELECT s.sno, s.sname
FROM student s
LEFT JOIN score sc ON s.sno = sc.sno
WHERE sc.cno IS NULL
```
这个查询语句会从学生表和成绩表中进行左连接,找出没有成绩记录的学生,也就是没有选修过课程的学生。其中,LEFT JOIN 会保留左表(学生表)中所有记录,即使在右表(成绩表)中没有匹配的记录。然后,WHERE 子句过滤出没有成绩记录的学生,即成绩表中的课程号是 NULL 的记录。
(7)查询没有选修课程的学生学号,姓名用sql语句
可以使用左连接和 IS NULL 来解决这个问题。以下是一种可能的 SQL 语句:
```
SELECT s.sno, s.sname
FROM student s
LEFT JOIN score sc ON s.sno = sc.sno
WHERE sc.cno IS NULL
```
这个查询语句会从学生表和成绩表中进行左连接,找出没有成绩记录的学生,也就是没有选修过课程的学生。其中,LEFT JOIN 会保留左表(学生表)中所有记录,即使在右表(成绩表)中没有匹配的记录。然后,WHERE 子句过滤出没有成绩记录的学生,即成绩表中的课程号是 NULL 的记录。