mysql查询姓王的学生所学的课程名称
时间: 2024-03-21 13:40:22 浏览: 103
好的,你可以尝试使用如下的 SQL 查询语句来实现:
```
SELECT courses.course_name
FROM courses
INNER JOIN student_courses ON courses.course_id = student_courses.course_id
INNER JOIN students ON student_courses.student_id = students.student_id
WHERE students.student_name LIKE '王%';
```
这个查询语句会从 `courses`、`student_courses` 和 `students` 三个表中进行联接查询,然后通过 `WHERE` 子句筛选出姓王的学生,并且只返回他们所学的课程名称。
注意,这里假设你的学生信息、课程信息和学生选课信息已经保存在了 `students`、`courses` 和 `student_courses` 三个表中,并且这些表中都包含了相应的字段。如果你的实际情况不同,你需要相应地修改这个查询语句。
相关问题
在mysql中查询学生的姓名、课程名称和成绩
假设有以下三张表:
- 学生表 student,包含字段:id(学生编号)、name(学生姓名);
- 课程表 course,包含字段:id(课程编号)、name(课程名称);
- 成绩表 score,包含字段:id(成绩编号)、student_id(学生编号)、course_id(课程编号)、score(成绩)。
则可以使用以下 SQL 语句查询学生的姓名、课程名称和成绩:
```
SELECT
student.name AS '学生姓名',
course.name AS '课程名称',
score.score AS '成绩'
FROM
score
INNER JOIN student ON score.student_id = student.id
INNER JOIN course ON score.course_id = course.id;
```
其中,`INNER JOIN` 表示内连接,将三张表按照指定的字段连接起来;`AS` 表示给字段起别名,方便查看结果。
mysql 姓王的学生
如果你要查询数据库中姓王的学生,可以使用如下的SQL语句:
```
SELECT * FROM students WHERE name LIKE '王%';
```
其中,`students`是你的学生表名,`name`是学生姓名所在的列名。`LIKE`关键字用于模糊匹配,`'王%'`表示匹配以王字开头的字符串。这条语句会返回所有满足条件的学生记录。