用MySQL写一篇关于 2、现有学生,课程,成绩三张表。 student(学生表):stu_id:学生id,stu_name:学生姓名,birthday:学生出生日期,stu_sex:学生性别。 course(课程表):cou_id:课程id,cou_name:课程名字。 grades(成绩表):stu_id:学生id,cou_id:课程id;score:成绩。 学生表student 课程表course 成绩表grades (1)查询名字中含有“云”字的学生信息。要求:写出查询的字段名。 (2)查询每门课的最高成绩、最低成绩、平均成绩。要求:查询结果列表名分别为课程、最高成绩、最低成绩、平均成绩。
时间: 2024-03-16 12:43:46 浏览: 99
好的,您的问题我已经接收到了。以下是您所需要的MySQL代码:
(1) 查询名字中含有“云”字的学生信息,字段名为:学生id、学生姓名、学生出生日期、学生性别。
```sql
SELECT stu_id, stu_name, birthday, stu_sex
FROM student
WHERE stu_name LIKE '%云%';
```
(2) 查询每门课的最高成绩、最低成绩、平均成绩,查询结果列表名分别为:课程、最高成绩、最低成绩、平均成绩。
```sql
SELECT cou_name AS 课程, MAX(score) AS 最高成绩, MIN(score) AS 最低成绩, AVG(score) AS 平均成绩
FROM course
INNER JOIN grades ON course.cou_id = grades.cou_id
GROUP BY cou_name;
```
希望以上MySQL代码能够解决您的问题,如有疑问请随时追问。
相关问题
SQL怎么建立基本表:在【学生课程数据库】中建立3张表:Student、Course和SC
在SQL中,建立基本表(也称为数据表)通常涉及创建模式并指定字段名、类型和约束。对于“学生课程数据库”中的三个表Student、Course和SC(可能是学生选课表),我们可以分别创建:
1. Student表(学生信息)
```sql
CREATE TABLE Student (
ID INT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Age INT,
Gender CHAR(1),
Department VARCHAR(50)
);
```
在这个表中,ID通常是主键,表示每个学生的唯一标识;Name、Age、Gender和Department是字段名,分别存储学生的名字、年龄、性别和所在部门。
2. Course表(课程信息)
```sql
CREATE TABLE Course (
ID INT PRIMARY KEY,
CourseName VARCHAR(100) NOT NULL,
Teacher VARCHAR(50),
Credits INT
);
```
这里ID是主键,CourseName代表课程名称,Teacher是教师姓名,Credits是学分数。
3. SC表(学生选课关联表)
```sql
CREATE TABLE SC (
StudentID INT,
CourseID INT,
Grade INT,
FOREIGN KEY (StudentID) REFERENCES Student(ID),
FOREIGN KEY (CourseID) REFERENCES Course(ID)
);
```
SC表记录了学生选课的信息,通过StudentID和CourseID与Student和Course表建立外键关联,Grade字段用于存储学生的成绩。注意,外键引用了父表的主键。
新建三张表,分别为班级表(classes),学生表(student),学生成绩表(student_score) 对应的字段如下: 班级表: 班级id(class_id),班级名称(class_name),创建时间(create_time) 学生表: 班级id(class_id),学生id(stu_id),学生姓名(stu_name),年龄(age),性别(sex),家庭住址(address),生日(brithday) 学生成绩表: 班级id(class_id),学生id(stu_id),分数(score) 交付内容:三张表的完整建表语句,每张表需包含主键或者索引。
班级表(classes)建表语句:
```sql
CREATE TABLE classes (
class_id INT PRIMARY KEY AUTO_INCREMENT,
class_name VARCHAR(50) NOT NULL,
create_time DATETIME NOT NULL
);
```
学生表(student)建表语句:
```sql
CREATE TABLE student (
stu_id INT PRIMARY KEY AUTO_INCREMENT,
class_id INT NOT NULL,
stu_name VARCHAR(50) NOT NULL,
age INT NOT NULL,
sex CHAR(1) NOT NULL,
address VARCHAR(100) NOT NULL,
birthday DATE NOT NULL,
FOREIGN KEY (class_id) REFERENCES classes (class_id)
);
```
学生成绩表(student_score)建表语句:
```sql
CREATE TABLE student_score (
score_id INT PRIMARY KEY AUTO_INCREMENT,
class_id INT NOT NULL,
stu_id INT NOT NULL,
score DECIMAL(5, 2) NOT NULL,
FOREIGN KEY (class_id) REFERENCES classes (class_id),
FOREIGN KEY (stu_id) REFERENCES student (stu_id)
);
```
在学生表和学生成绩表中,使用了外键关联班级表的班级id字段,保证了数据的完整性和准确性。同时,每张表都设置了主键或者索引来唯一标识每条记录。
阅读全文