首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql话语分析

2012-09-01 
sql语句分析4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位SELECT SN,SD FROM SWHERE [S#]

sql语句分析
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
SELECT SN,SD FROM S
WHERE [S#] IN(
  SELECT [S#] FROM SC 
  RIGHT JOIN C ON SC.[C#]=C.[C#]
  GROUP BY [S#]
  HAVING COUNT(*)=COUNT(DISTINCT [S#]))
后面的HAVING COUNT(*)=COUNT(DISTINCT [S#]))看不明白啊....

[解决办法]
HAVING COUNT(*)=COUNT(DISTINCT [S#])是对结果集进行限制,只让选修科目数和总科目数相等的出现在结果集中
其中的COUNT(DISTINCT [S#])就是查出科目总数的,由于有distinct所以科目不重复出现,自然就是总科目数了

热点排行