sql server 常用高级查询sql
2014-07-08 09:57
330 查看
数据源:表:course
name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
赵六 语文 88
赵六 数学 89
赵六 英语 99
钱起 语文 56
钱起 数学 89
钱起 英语 55
1,选取有三门课程分数大于80分的学生的姓名:
SELECT name FROM dbo.course WHERE fenshu>80 GROUP BY name HAVING COUNT(fenshu) >=3
2, 有不及格课程的学生:
SELECT name, COUNT(fenshu) AS NumberOfCourses FROM dbo.course WHERE fenshu <60 GROUP BY name
一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在四个球对进行比赛,用一条sql语句显示所有可能的比赛组合.
你先按你自己的想法做一下,看结果有我的这个简单吗?
答:select a.name, b.name
from department a, department b
where a.name < b.name --//说明:department 是表,a b是deparment的别名。
=======================================================================
把行中的数据,按照一个属性的值,汇总另一个属性成不同的列。实现分段统计
--===================================
-- case 也可以参考:http://www.jb51.net/article/28680.htm
name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
赵六 语文 88
赵六 数学 89
赵六 英语 99
钱起 语文 56
钱起 数学 89
钱起 英语 55
1,选取有三门课程分数大于80分的学生的姓名:
SELECT name FROM dbo.course WHERE fenshu>80 GROUP BY name HAVING COUNT(fenshu) >=3
2, 有不及格课程的学生:
SELECT name, COUNT(fenshu) AS NumberOfCourses FROM dbo.course WHERE fenshu <60 GROUP BY name
一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在四个球对进行比赛,用一条sql语句显示所有可能的比赛组合.
你先按你自己的想法做一下,看结果有我的这个简单吗?
答:select a.name, b.name
from department a, department b
where a.name < b.name --//说明:department 是表,a b是deparment的别名。
=======================================================================
把行中的数据,按照一个属性的值,汇总另一个属性成不同的列。实现分段统计
--===================================
SQL server中如何实现这样的汇总查询??
http://zhidao.baidu.com/link?url=X8sIItdCN3GfPJb2GcpldKlO_NF3qe4nJ4Fh8IPbM5G9e4TAoJ4qoVNHGRYeIKUse0__BD3yYE1u7qtB0ELMHaselect a.城市名称, sum(isnull((case when 产品名称='方便面' then 销量 end),0)) 方便面, sum(isnull((case when 产品名称='洗发水' then 销量 end),0)) 洗发水, sum(isnull((case when 产品名称='矿泉水' then 销量 end),0)) 矿泉水, sum(isnull((case when 产品名称='沐浴露' then 销量 end),0)) 沐浴露 from 城市表 a left join 销售表 b on a.城市名称=b.城市名称 group by a.城市名称
-- case 也可以参考:http://www.jb51.net/article/28680.htm
相关文章推荐
- SQL SERVER 3 T-SQL编程与高级查询
- SQL Server Transact-SQL高级查询
- 常用的SQL语句<二>几个高级查询运算词
- T-SQL查询高级—SQL Server索引中的碎片和填充因子
- 常用的SQL语句<三> 联合查询和高级用法
- 常用SQL语句的整理--SQL server 2008(查询三--子查询)和guid
- T-SQL查询高级—SQL Server索引中的碎片和填充因子
- SQL Server Transact-SQL高级查询
- T-SQL查询高级—SQL Server索引中的碎片和填充因子
- 常用SQL语句的整理--SQL server 2008(查询一)
- 常用SQL语句的整理--SQL server 2008(查询二--)
- SQL Server 开发指南---T-SQL高级查询
- T-SQL查询高级—SQL Server索引中的碎片和填充因子
- 常用的SQL语句基础高级sql查询
- T-SQL查询高级—SQL Server索引中的碎片和填充因子
- SQL server组合查询+sql常用函数
- SQL Server 2000/2005 常用sql查询整理
- SQL Server 数据库管理常用的SQL和T-SQL语句 (转)
- 两个常用的SQL语句(查询最大值、取得子结点)
- SQL Server 数据库管理常用的SQL和T-SQL[转]