使用SQL语言创建以下3个数据表:学生表(student)、课程表(course)、学生选课表(SC),分别写出SQL语句。
时间: 2023-08-20 14:29:40 浏览: 40
学生表(student)创建SQL语句:
```
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender VARCHAR(10)
);
```
课程表(course)创建SQL语句:
```
CREATE TABLE course (
id INT PRIMARY KEY,
name VARCHAR(50),
credit INT
);
```
学生选课表(SC)创建SQL语句:
```
CREATE TABLE SC (
student_id INT,
course_id INT,
score INT,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN KEY (course_id) REFERENCES course(id)
);
```
相关问题
用sql语句完成下列查询:学生表Student,课程表Course,选课表SC
查询选了课程号为001的学生的姓名和选课成绩:
```sql
SELECT Student.name, SC.score
FROM Student
INNER JOIN SC ON Student.id = SC.student_id
WHERE SC.course_id = '001';
```
学生数据库db_student包括三个数据表student(学生表)、course(课程表)和sc(选课表
),请问如何查询选修课程为”数学”的学生及其成绩?
我可以通过 SQL 语言来实现查询。具体的语句如下:
SELECT student.s_name, sc.score
FROM student, sc, course
WHERE student.s_id = sc.s_id AND sc.c_id = course.c_id AND course.c_name = '数学';
这个语句的含义是:从 student、course、sc 三个表中,找到选修课程名为“数学”的学生和他们的成绩。其中,通过 WHERE 子句将三个表连接在一起,并且约束条件是 student 表中的学生 ID 等于 sc 表中的学生 ID,同时 sc 表中的课程 ID 等于 course 表中的课程 ID。最后,通过 SELECT 子句选择想要的结果,这里是学生姓名和成绩。