当前位置: 首页 > news >正文

北京网站seo服务哈尔滨建设网站哪家专业

北京网站seo服务,哈尔滨建设网站哪家专业,做网站代码审计哪个工具比较好,端午节网站制作最近面试遇到一个SQL题,复述如下: SQL面试题 现在有两张表,结构如下: 学生表(student) 学号sid姓名name1张三2李四3王五 成绩表(score) 序号id学号sid科目subject分数score11语…

最近面试遇到一个SQL题,复述如下:

SQL面试题

现在有两张表,结构如下:
学生表(student)

学号sid姓名name
1张三
2李四
3王五

成绩表(score)

序号id学号sid科目subject分数score
11语文80
21数学90
32语文85
42数学100
53语文70
63数学60
  1. 写一个SQL,查出每个人的总分,并按倒序排列。输出字段如下:
姓名总分
  1. 最近学校要举行乒乓球运动会,准备采用循环赛,即每个人都与其他人都要比赛。写一个SQL列出每一场比赛的参赛人员,按顺序输出。
A组B组

解答

  1. 考虑到成绩表中都是单科成绩,这里需要查询总成绩,那就先汇总计算总成绩;输出还要显示姓名,就在外层查询中关联查询姓名:
select s.name as '姓名', total as '总分' from student s left join (select sid, sum(score) as total from score group by sid
) t on s.id = t.sid order by total desc;

还可以直接关联查询:

select name as '姓名', sum(`score`) as '总分' from student u, `score` s 
where u.id = s.sid group by s.sid order by sum(score) desc;

输出结果:

+----+-----+
|name|total|
+----+-----+
|李四  |  185|
|张三  |  170|
|赵六  |  138|
|王五  |  130|
+----+-----+
  1. 既然要输出全部循环数据,那可以考虑使用join
select a.name as 'A组', b.name as 'B组' from student a join student b on a.id!=b.id;

输出结果:

+----+-----+
|A组|B组|
+----+-----+
|赵六  |张三  |
|王五  |张三  |
|李四  |张三  |
|赵六  |李四  |
|王五  |李四  |
|张三  |李四  |
|赵六  |王五  |
|李四  |王五  |
|张三  |王五  |
|王五  |赵六  |
|李四  |赵六  |
|张三  |赵六  |
+----+-----+

注意,上述输出中包含两条张三和李四的记录,即每个人作为A组比赛一次,作为B组再比赛一次。如果两个人只比赛一次,可以考虑利用id大小进行去重。

select a.name as 'A组', b.name as 'B组' from student a join student b on a.id<b.id;

输出结果:

+----+-----+
|A组|B组|
+----+-----+
|张三|李四|
|张三|王五|
|张三|赵六|
|李四|王五|
|李四|赵六|
|王五|赵六|
+----+-----+

平时使用join写SQL时一般使用的等值连接,即在on后面紧跟着表的主键等于另一个表的某一列,很少使用不等于或其他比较操作符判断。在语法上,可以使用等值连接以外的方式,这种类型的连接被称为非等值连接或范围连接。但在实际应用中,使用非等值连接可能会导致较大的中间结果集,特别是在数据量大的情况下,这可能会影响查询性能。故不推荐使用!!!

http://www.yayakq.cn/news/152606/

相关文章:

  • mysql开发网站开发开发网站的申请怎么写
  • 网站建设优化服务报价企业管理咨询服务有限公司
  • dw网站建设视频下载网站推广的技能
  • 成都专业网站建设公司排名企业建设网站的目的是什么
  • 网站开发与凡科网站教程
  • 免费的制作网站程序百度app安装
  • 公司做网站郯城做网站
  • 金融网站开发的意义 论文圣弓 网站建设
  • 给小说网站做编辑如何做手机网页
  • 网站建设和网络推广方案做一直播网站要多少钱
  • 2019建一个什么网站最好seo网络营销课程运营
  • php做网站需要后台吗网站优化软件推荐
  • 四川省工程信息网资深seo顾问
  • wordpress多站点配置教程wordpress 企业网站
  • 怎么做网站建设赚钱网站备案背景
  • 知名网站建设定制wordpress 下载数据表插件
  • 如何看网站是不是织梦做的天猫代运营电商公司排行榜
  • 公司 网站制作学习做网页的网站
  • 如何快速学成网站开发营销型网站可以吗
  • ae做动画教程网站做企业网站建设的公司
  • 青岛做网站服务商东莞横沥做网站
  • 做动漫图片的网站网站怎么制作视频
  • 网站建设需要哪些准备wordpress 51
  • 做网站先做ue网站设计的国际专业流程
  • 电子商务网站建设计划WordPress音乐免刷新
  • 蚌埠网站开发为什么不用h5做网站
  • 付费抽奖网站怎么做wordpress文章自动中文
  • 企业网站首页布局设计wordpress时间格式
  • 学习建网站本网站维护升级
  • 做网页去哪些网站找素材较好软件定制开发app