mysql常规面试题

求职路不易,希望能给你们帮助,给个赞吧!
create database school;
use school;
create table class
( class_no varchar(10),
st_no varchar(10),
st_name varchar(20));
insert into class
values (“c1”,“st1”,“sam”),
(“c1”,“st2”,“lucy”),
(“c2”,“st3”,“jean”),
(“c2”,“st5”,“lily”);
insert into class
values (“c2”,“st4”,“lock”);
select * from class;
在这里插入图片描述

create table sc
(st_no varchar(10),
subject_no int(10),
score int(10));

insert into sc
values
(“st1”,1,72),
(“st1”,2,89),
(“st1”,3,78),
(“st3”,1,87),
(“st3”,3,89),
(“st4”,1,98),
(“st4”,2,94);

select * from sc;
在这里插入图片描述
create table couse
(subject_no int(10),
subject_name varchar(20));

insert into couse
values
(1,“Chinses”),
(2,“mathmatics”),
(3,“English”);

select * from couse;
在这里插入图片描述

  1. 查询各班级各科成绩总和
    select class_no,subject_name,sum(score) from class a
    inner join sc b on a.st_no=b.st_no
    inner join couse c on b.subject_no=c.subject_no
    group by class_no,subject_name;
    在这里插入图片描述

2.查询每个班级语文成绩大于85分人数人数
select class_no,count(st_no) 人数 from class where st_no in
(select st_no from sc a left join couse b on a.subject_no=b.subject_no
where score>85 and subject_name=“Chinses”)
group by class_no;
在这里插入图片描述

  1. 查询语文成绩大于数学成绩的姓名和归宿班级
    select st_name,st_no from class where st_no in
    (select t1.st_no from
    (select a.st_no,score from sc a left join couse b on a.subject_no=b .subject_no
    where subject_name=“Chinses” ) t1
    inner join
    (select a.st_no,score from sc a left join couse b on a.subject_no=b .subject_no
    where subject_name=“mathmatics” ) t2 on t1.st_no=t2.st_no and t1.score>t2.score);
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值