文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SQL逻辑查询处理步骤(11步)未完待续…

SQL逻辑查询处理步骤(11步)未完待续…

时间:2010-10-17  来源:风的轮廓

列如:表C的结构和数据

     L1         L2            L3

     1            A             100

     1            B             11

     2            C             100

     3            D              22

     3            D              22

查询语句  select   L1,L2 from C group by L1,如果编译成功将得到如下结果

   L1            L2

   1              A

                   B

   2              C

   3              D

但是上面结果是无法显示的,所以编译select   L1,L2 from C group by L1不通过。如果指定了group by子句。则后面所有的步骤(having,select等)只能指定可以为分组得到标量值的表达式。

该限制是因为的结果集中只能为每一个组包含一行数据(除非该组被过滤掉了)。

所有 对于C表的查询,可以是select   L1,count(L2)  as count  from C group by L1得到结果如下:

   L1            Count

   1             2

   2             1

   3             2

group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面。group by主要用于对返回值进行聚合函数计算和查找相同记录。所有null值会被分到一组。

步骤6:应用cube 或rollup选项

步骤7:应用having筛选器

只有符合<having_condition>的组才会成为虚拟表VT6的一部分。having是第一个也是唯一一个应用到已分组数据的筛选器。

步骤8:处理select列表

步骤9:应用distinct子句

步骤10:应用order by子句

步骤11:应用top选项

sql server2005中加入了新的逻辑处理阶段

1、表运算符

2、over 子句

3、集合操作

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载