各表所传达的数据为:
学生表里姓名,年龄,学号,性别;
教师信息表里:教师编号,姓名,年龄,性别;
成绩表里:课号,学号,分数;
课程表里:课号,课名,教师编号,授课时间;
问题①:
我在想表达,把教师表里的tea_id,即教师编号和课程表里的cour_id,即课号表示出来,想问下语句哪里出了问题?
语句如下:
select
teacher.tea_id,
teacher.tea_name,
teacher.tea_age,
course.cour_id,
course.cour_name
from teacher
join course on teacher.tea_id = course.cour_id;
问题②:
我想表达,查询成绩每科最高分,提示如下,请问哪里有问题
语句如下:
select course.cour_id,course.cour_name,max(score.score_grade) from score
join course
on score.cour_id = course.cour_id
group by course.cour_name
order by course.cour_id desc;
//下面分别是student,teacher,course,score表的建立
create table student
(
stu_id int primary key,
stu_name varchar(20) not null,
stu_age varchar(20)not null,
stu_sex varchar(10)not null,
);
insert into student(stu_id,stu_name,stu_age,stu_sex)
VALUES(1001,'王一',18,'男'),(1002,'李二',19,'男'),(1003,'刘三',19,'男'),(1004,'赵四',22,'女'),(1005,'范五',20,'女');
select stu_id,stu_name,stu_age,stu_sex from student;
//创建学生表
create table teacher
(
tea_id int primary key,
tea_name varchar(20) not null,
tea_age varchar(20) not null,
tea_sex varchar(10) not null,
);
insert into teacher(tea_id,tea_name,tea_age,tea_sex)
VALUES(1901,'夏一',50,'男'),(1902,'胡二',39,'男'),(1903,'樊三',40,'男'),(1904,'房四',32,'女'),(1905,'陈五',55,'男');
select tea_id,tea_name,tea_age,tea_sex from teacher;
//创建教师表
create table course
(
cour_id int primary key,
cour_name varchar(20) not null,
tea_id varchar(20) not null,
cour_time varchar(30) not null,
);
insert into course(cour_id,cour_name,tea_id,cour_time)
VALUES(151,'计算机',1901,'444h'),(152,'英语',1902,'320h'),(153,'高数',1904,'320h'),(154,'c语言',1903,'400h'),(155,'数据库',1905,'444h');
select cour_id,cour_name,tea_id,cour_time from course;
//创建课程表
create table score
(
cour_id int not null,
stu_id varchar(20) not null,
primary key(cour_id,stu_id),
score_grade varchar(20) not null,
);
insert into score(cour_id,stu_id,score_grade)
VALUES(151,1001,88),(151,1002,88),(151,1003,80),(151,1004,85),(151,1005,70);
insert into score(cour_id,stu_id,score_grade)
VALUES(152,1001,92),(152,1002,78),(152,1003,80),(152,1004,78),(152,1005,88);
insert into score(cour_id,stu_id,score_grade)
VALUES(153,1001,70),(153,1002,89),(153,1003,88),(153,1004,70),(153,1005,90);
insert into score(cour_id,stu_id,score_grade)
VALUES(154,1001,78),(154,1002,90),(154,1003,70),(154,1004,68),(154,1005,89);
insert into score(cour_id,stu_id,score_grade)
VALUES(155,1001,88),(155,1002,88),(155,1003,78),(155,1004,80),(155,1005,87);
select cour_id,stu_id,score_grade from score;
//创建成绩表