把上面的sql语句生成一个SC表,并给出求缺少了成绩的学生的学号和课程号的sql语句
时间: 2023-07-04 11:06:24 浏览: 54
可以使用以下SQL语句生成一个SC表:
```
CREATE TABLE SC (
SNO CHAR(10),
CNO CHAR(10),
GRADE INT,
PRIMARY KEY (SNO, CNO),
FOREIGN KEY (SNO) REFERENCES STUDENT(SNO),
FOREIGN KEY (CNO) REFERENCES COURSE(CNO)
);
```
要求缺少成绩的学生的学号和课程号,可以使用以下SQL语句:
```
SELECT SNO, CNO
FROM SC
WHERE GRADE IS NULL;
```
相关问题
SQL语句查询每个学生的学号、姓名、选修的课程号、课程名和成绩
可以使用如下的 SQL 语句来查询每个学生的学号、姓名、选修的课程号、课程名和成绩:
```
SELECT s.id AS 学号, s.name AS 姓名, c.id AS 课程号, c.name AS 课程名, sc.score AS 成绩
FROM student s
INNER JOIN score sc ON s.id = sc.stu_id
INNER JOIN course c ON sc.course_id = c.id;
```
其中,`student` 表存储了学生的信息,包括学号和姓名;`course` 表存储了课程的信息,包括课程号和课程名;`score` 表存储了学生选修的课程和对应的成绩,包括学生的学号、课程号和成绩。通过 `INNER JOIN` 连接这三个表,就可以查询到每个学生的学号、姓名、选修的课程号、课程名和成绩。
查询每位学生选修课程的成绩高于其所选修课程的平均成绩的学生学号和课程号;SQL语句
可以使用嵌套查询来实现该功能。首先,查询每门课程的平均成绩,然后再查询每位学生选修课程的成绩是否高于该课程平均成绩,最后筛选出符合条件的学生学号和课程号即可。具体的SQL语句如下:
```
SELECT SC.student_id, SC.course_id
FROM score AS SC
WHERE SC.score > (
SELECT AVG(score)
FROM score
WHERE course_id = SC.course_id
)
```