Sapfire 2022-12-30 10:11 采纳率: 50%
浏览 55
已结题

数据库学生与教师管理系统出现下列提示怎么解决?

各表所传达的数据为:

学生表里姓名,年龄,学号,性别;
教师信息表里:教师编号,姓名,年龄,性别;
成绩表里:课号,学号,分数;
课程表里:课号,课名,教师编号,授课时间;

问题①:

我在想表达,把教师表里的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;

问题②:

我想表达,查询成绩每科最高分,提示如下,请问哪里有问题

img

语句如下:

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;


//创建成绩表

  • 写回答

2条回答 默认 最新

  • heart_6662 2022-12-30 10:27
    关注

    望采纳!!点击该回答右侧的“采纳”按钮即可采纳!
    这个查询语句里应该是这样的:

    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.tea_id;
    
    

    因为你是想把教师表里的教师编号和课程表里的课程编号连接起来,所以连接条件应该是teacher.tea_id = course.tea_id,而不是teacher.tea_id = course.cour_id。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月7日
  • 已采纳回答 12月30日
  • 创建了问题 12月30日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分