8.使用两种方式查询网络131班级学生的学号,姓名,性别。班级,课程id和成绩,(左连接和右连接)
时间: 2024-12-20 09:16:44 浏览: 7
要查询网络131班级学生的学号、姓名、性别、班级、课程ID和成绩,可以使用左连接(LEFT JOIN)和右连接(RIGHT JOIN)来实现。以下是两种方法的具体SQL语句:
### 使用左连接(LEFT JOIN)
```sql
SELECT
s.sNo,
s.sName,
s.sex,
s.deptName,
c.cNo,
sc.grade
FROM
student s
LEFT JOIN
score sc ON s.id = sc.sId
LEFT JOIN
course c ON sc.cId = c.id
WHERE
s.deptName = '网络131';
```
### 使用右连接(RIGHT JOIN)
```sql
SELECT
s.sNo,
s.sName,
s.sex,
s.deptName,
c.cNo,
sc.grade
FROM
score sc
RIGHT JOIN
student s ON s.id = sc.sId
RIGHT JOIN
course c ON sc.cId = c.id
WHERE
s.deptName = '网络131';
```
### 解释
1. **左连接(LEFT JOIN)**:
- `student` 表作为主表,左连接 `score` 表和 `course` 表。
- 即使某个学生没有成绩记录,也会显示该学生的其他信息,但成绩字段会显示为 `NULL`。
2. **右连接(RIGHT JOIN)**:
- `score` 表作为主表,右连接 `student` 表和 `course` 表。
- 即使某个学生没有成绩记录,也会显示该学生的其他信息,但成绩字段会显示为 `NULL`。
这两种方法都能达到相同的效果,选择哪种方法取决于具体的业务需求和个人偏好。
阅读全文