SQL语句创建成绩表包含学号,课程号和成绩
时间: 2024-01-17 22:06:17 浏览: 33
好的,以下是 SQL 语句创建成绩表包含学号、课程号和成绩的示例:
```
CREATE TABLE score (
student_id INT NOT NULL,
course_id INT NOT NULL,
score DECIMAL(5, 2),
PRIMARY KEY (student_id, course_id)
);
```
这个 SQL 语句创建了一个名为 `score` 的表,包含了三个字段:`student_id`(学号)、`course_id`(课程号)和 `score`(成绩)。其中,`student_id` 和 `course_id` 字段是整数类型,且都不能为空;`score` 字段是一个带有两个小数位的十进制数。最后,这个 SQL 语句还指定了 `student_id` 和 `course_id` 两个字段作为表的主键,以确保每条记录都是唯一的。
相关问题
SQL 查询没有成绩的学号和课程号的代码
以下是查询没有成绩的学号和课程号的 SQL 代码:
```
SELECT 学号, 课程号
FROM 学生, 课程
WHERE NOT EXISTS (
SELECT *
FROM 成绩
WHERE 学生.学号 = 成绩.学号
AND 课程.课程号 = 成绩.课程号
);
```
这个查询使用了子查询来判断哪些学生和课程没有成绩。首先,我们使用 `NOT EXISTS` 来判断一个学生和课程是否不存在成绩。这个子查询会检查成绩表中是否有学生和课程号匹配的记录,如果没有,那么这个学生和课程就是没有成绩的。然后,我们使用 `SELECT` 语句来选择没有成绩的学号和课程号。注意,这个查询使用了学生表、课程表和成绩表,所以需要使用表别名来区分它们。
SQL求缺少了成绩的学生的学号和课程号
可以使用以下 SQL 语句查询缺少了成绩的学生的学号和课程号:
```
SELECT 学生表.学号, 成绩表.课程号
FROM 学生表
LEFT JOIN 成绩表
ON 学生表.学号 = 成绩表.学号
WHERE 成绩表.成绩 IS NULL;
```
其中,`学生表` 和 `成绩表` 分别为存储学生信息和成绩信息的数据库表。`LEFT JOIN` 表示左连接,以 `学生表` 为主表,`ON` 后的条件为连接条件,即学号相等。`WHERE` 子句中的条件为成绩为空,表示缺少了成绩。查询结果即为缺少了成绩的学生的学号和课程号。