当前位置: 代码迷 >> Sql Server >> 求几个简单SQL!解决方案
  详细解决方案

求几个简单SQL!解决方案

热度:58   发布时间:2016-04-27 18:43:40.0
求几个简单SQL!
1、求全班每个同学的总成绩大于530的学员信息?
表结构为:
姓名 成绩 科目

2、请问子查询快,还是联接查询快?(一般情况下)

3、where后面可不可以跟聚合函数?

注:以上问题能答多少就答多少,答多答少都有分送!

------解决方案--------------------
1、求全班每个同学的总成绩大于530的学员信息? 
表结构为: 
姓名 成绩 科目 

SQL code
select 学员信息.* from 学员信息,(select 姓名 from 成绩 group by 姓名 having sum(成绩)>530) as twhere t.姓名=学员信息.姓名
------解决方案--------------------
1. select * from [table]
group by 姓名
having sum(成绩)>530
2.看情况而定
3.where 后不可以加 聚合函数
------解决方案--------------------
SQL code
1select * from 表 tpwhere exists(select 1 from 表 where 学号=tp.学号group by 学号 having sum(分数)>530)2、请问子查询快,还是联接查询快?(一般情况下) 联接查询快3、where后面可不可以跟聚合函数? 不可以
------解决方案--------------------
竟然慢了一步,如果你说的是两个表就是楼上的写法,一个表的话可以看下我的
------解决方案--------------------
1、求全班每个同学的总成绩大于530的学员信息? 
表结构为: 
姓名 成绩 科目 

SQL code
select * from tb where 姓名 in (select 姓名 from tb group by 姓名 having(sum(成绩)) >= 530)
------解决方案--------------------
SQL code
1、求全班每个同学的总成绩大于530的学员信息? 表结构为: 姓名    成绩     科目 select * from tab awhere exists(select 1 from tab b where a.姓名=b.姓名group by b.姓名having sum(成绩)>530)2、请问子查询快,还是联接查询快?(一般情况下) 子查询快3、where后面可不可以跟聚合函数? where 后面只能跟限制条件聚合函数需要跟在Having 后面注:以上问题能答多少就答多少,答多答少都有分送!
  相关解决方案