用sql语句查询李飞倩同学学习的课程信息,包含学生的学号、姓名、课程号和课程名
时间: 2024-03-21 19:38:10 浏览: 102
假设你有如下的表:
**学生表 (student)**
| 学号 | 姓名 |
| --- | --- |
| 001 | 李飞倩 |
| 002 | 张三 |
| 003 | 李四 |
**课程表 (course)**
| 课程号 | 课程名 |
| --- | --- |
| 1001 | 数据库 |
| 1002 | 计算机网络 |
| 1003 | 编译原理 |
**选课表 (choose)**
| 学号 | 课程号 |
| --- | --- |
| 001 | 1001 |
| 001 | 1002 |
| 002 | 1003 |
| 003 | 1002 |
则可以使用如下的 SQL 语句查询李飞倩同学学习的课程信息:
```
SELECT student.学号, student.姓名, course.课程号, course.课程名
FROM student, course, choose
WHERE student.学号 = choose.学号
AND course.课程号 = choose.课程号
AND student.姓名 = '李飞倩';
```
这个 SQL 语句使用了多表联结,将学生表、课程表和选课表连接起来,然后通过 WHERE 子句筛选出李飞倩同学学习的课程信息。
相关问题
SQL语句查询学生的学号、姓名、课程号、课程名、成绩
假设有三个表:学生表(students)、课程表(courses)和成绩表(scores),它们的字段如下:
学生表(students):
- 学号(id)
- 姓名(name)
课程表(courses):
- 课程号(id)
- 课程名(name)
成绩表(scores):
- 学号(student_id)
- 课程号(course_id)
- 成绩(score)
则可以使用如下 SQL 语句查询学生的学号、姓名、课程号、课程名、成绩:
```
SELECT students.id AS 学号, students.name AS 姓名, courses.id AS 课程号, courses.name AS 课程名, scores.score AS 成绩
FROM students, courses, scores
WHERE students.id = scores.student_id AND courses.id = scores.course_id;
```
这里使用了多表连接查询,通过学生表、课程表和成绩表的关联字段进行关联。其中,`AS` 关键字用于给字段取别名。
数据库SQL语句中 查询选修了全部课程的学生的学号和姓名
可以使用如下的SQL语句查询选修了全部课程的学生的学号和姓名:
```
SELECT student.id, student.name
FROM student
WHERE NOT EXISTS (
SELECT course.id
FROM course
WHERE NOT EXISTS (
SELECT *
FROM sc
WHERE sc.sid = student.id AND sc.cid = course.id
)
);
```
这个SQL语句的意思是:查询所有的学生的学号和姓名,但是要求这些学生选修了所有的课程(即不存在任何一门课程没有被选修)。
阅读全文