学生表 S(SNO,SNAME,AGE,SEX,SDEPT); 学生、课程、成绩表 SC(SNO,CNO,GRADE); 课程表 C(CNO,CNAME,CDEPT,TNAME); 1. 检索出所有学生及其课程 “Math”的考试成绩单(注意:并非所有学生都有参加了 课程“Math”的考试),请写出 SQL 语句 2. 检索没有选修课程名为“Math”的学生学号与姓名,请写出 SQL 语句
时间: 2024-02-16 07:03:42 浏览: 43
学生所修的和课程和成绩显示表
1. SQL语句:
```sql
SELECT S.SNO, S.SNAME, SC.GRADE
FROM S
LEFT JOIN SC ON S.SNO = SC.SNO
LEFT JOIN C ON SC.CNO = C.CNO
WHERE C.CNAME = 'Math';
```
2. SQL语句:
```sql
SELECT S.SNO, S.SNAME
FROM S
WHERE S.SNO NOT IN (
SELECT SC.SNO
FROM SC
INNER JOIN C ON SC.CNO = C.CNO
WHERE C.CNAME = 'Math'
);
```
其中,使用LEFT JOIN实现左连接,筛选出参加了课程“Math”的学生及其成绩单;使用NOT IN子查询实现筛选出没有选修课程名为“Math”的学生学号与姓名。
阅读全文