数据库面试多表查询二

题目一
在这里插入图片描述

解答:

select avg(eglish) from mark;
select mark.math,cust.Name,cust.Address,cust.Telno from mark join cust on mark.studentno = cust.Studentno where cust.studentno in (11,22,33,44,55);
select cust.Name ,mark.computer form cust join mark on cust.Studentno = mark.studentno
order by mark.computer desc;
select cust.Studentno,cust.Name,english + math + computer total
from cust join mark on cust.Studentno = mark.studentno
having total > 240
order by total desc;

在这里插入图片描述

解答:
A. select count(‘王姓学生’) from Student where Student.name like ‘王%;
B. select id from (
select
a.id
max(case when c.name = ‘语文’ then b.score end) chinese,
max(case when c.name = ‘数学’ then b.score end) math
from student a
join sc b on a.id = b.cid
join course c on c.id = b.cid
group by a.id
having math > chinese);

方法二:
Select a.*,math.score as 数学,chinese.score as 语文 from
student a,
(Select * from sc where cid=(Select id from course where name =‘数学’)) as math,
(Select * from sc where cid=(Select id from course where name =‘语文’)) as chinese
where a.id = math.sid
and math.sid = chinese.sid
and math.score>chinese.score;

C. select Student.id,avg(sores) from Student join SC on Student.id = SC.sid group by Student.id having avg(sores) > 90;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值