sql查询所有学生的学号、姓名、课程号及成绩的左连接、右连接、完整外部连接。
时间: 2023-12-12 14:03:26 浏览: 81
假设有三个表:`students` 存储学生信息,包括学号和姓名;`courses` 存储课程信息,包括课程号;`scores` 存储学生成绩信息,包括学号、课程号和成绩。
左连接查询:
```sql
SELECT s.sid, s.name, c.cid, sc.score
FROM students s
LEFT JOIN scores sc ON s.sid = sc.sid
LEFT JOIN courses c ON sc.cid = c.cid;
```
右连接查询:
```sql
SELECT s.sid, s.name, c.cid, sc.score
FROM scores sc
RIGHT JOIN students s ON s.sid = sc.sid
RIGHT JOIN courses c ON sc.cid = c.cid;
```
完整外部连接查询:
```sql
SELECT s.sid, s.name, c.cid, sc.score
FROM students s
FULL OUTER JOIN scores sc ON s.sid = sc.sid
FULL OUTER JOIN courses c ON sc.cid = c.cid;
```
需要注意的是,完整外部连接在某些数据库中可能不支持,此时可以使用左连接和右连接的组合来模拟实现。
阅读全文