查询选修了课程的学生学号用sql语言
时间: 2023-11-10 17:21:16 浏览: 49
要查询选修了课程的学生学号,需要使用学生和选课两个表进行联合查询。以下是一条示例 SQL 语句:
```
SELECT students.sid FROM students
JOIN enrollment ON students.sid = enrollment.sid
WHERE enrollment.cid = 'C001';
```
这条语句将从名为“students”的表和名为“enrollment”的表中选择包含学生学号(sid)和课程号(cid)两个字段,并将它们进行联合查询。最后,WHERE 子句将返回选修了课程号为“C001”的学生学号。如果您需要查询其他课程的选修学生,只需将 WHERE 子句中的“C001”替换为相应的课程号即可。
相关问题
)查询没有选修课程的学生学号,姓名用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 的记录。
用sql语句写查询至少选修一门课程的学生学号
可以使用如下的 SQL 查询语句来选出至少选修一门课程的学生学号:
```
SELECT DISTINCT student_id
FROM course_selection;
```
假设我们有一个名为 `course_selection` 的表,其中包含着所有学生的选课记录。这个表至少应该包含两个字段:`student_id` 和 `course_id`。上述查询语句会选出所有在 `course_selection` 表中出现过的学生 ID,并且去重,确保每个学生只出现一次。因为我们只需要选出至少选修过一门课程的学生,所以不需要在查询中指定任何条件。