查找选修了MySQL的学生学号和姓名
时间: 2023-05-16 07:05:10 浏览: 86
这个问题可以通过查询学生选课表和课程表来解决。假设学生选课表的表名为 student_course,包含学生学号和课程编号两个字段,课程表的表名为 course,包含课程编号和课程名称两个字段。则可以使用以下 SQL 语句查询选修了 MySQL 课程的学生学号和姓名:
SELECT student.id, student.name
FROM student_course
JOIN course ON student_course.course_id = course.id
JOIN student ON student_course.student_id = student.id
WHERE course.name = 'MySQL';
其中,student_course 表和 course 表通过课程编号进行连接,student_course 表和 student 表通过学生学号进行连接。通过 WHERE 子句筛选出课程名称为 MySQL 的记录,最终返回学生学号和姓名两个字段。
相关问题
查阅选修了数据库课程的学生学号和姓名
好的,以下是查询选修了数据库课程的学生学号和姓名的 SQL 语句:
```
USE studentcource;
SELECT 学号, 姓名 FROM 学生 WHERE 学号 IN
(SELECT 学号 FROM 选课 WHERE 课程编号 = 'DB001');
```
请注意,这里假设数据库课程的课程编号是 "DB001"。如果实际课程编号不同,请将上述 SQL 语句中的 "DB001" 替换为实际的课程编号。
MySQL查询所有没有选修课程的学生的学号、姓名
假设我们有以下两张表:
学生表 (students):
| 学号 | 姓名 |
| ---- | -----|
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
| 4 | 赵六 |
选课表 (course_selections):
| 学号 | 课程编号 |
| ---- | -----|
| 1 | 1001 |
| 1 | 1002 |
| 2 | 1001 |
| 3 | 1003 |
则查询所有没有选修课程的学生的学号、姓名的SQL语句如下:
```
SELECT s.学号, s.姓名
FROM 学生表 s
LEFT JOIN 选课表 c ON s.学号 = c.学号
WHERE c.学号 IS NULL;
```
该语句使用了左连接(LEFT JOIN)将学生表和选课表连接起来,然后使用 WHERE 子句过滤出选修课程为空的记录,最后只查询学号和姓名两个字段。