易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL中逻辑查询处理的各个阶段

 有关SQL中逻辑查询处理的各个阶段(自己搞的例子,不对的欢迎指正哦)
SQL不同于其他的编程语言的最大最大特征有3个吧,
一个是它是面向集合的编程思想,第二个是三值逻辑(这个后面会说到),还有一个就是今天主要要说的查询元素的逻辑处理次序。
请看一个基本查询的逻辑过程:
(8)  SELECT (9) DISTINCT (11) <TOP_specification> <select_list>
(1)  from <left_table>
(3)    <join_type> JOIN <right_table>
(2)      ON <join_condition>
(4)  WHERE <where_condition>
(5)  GROUP BY <group_by_list>
(6)  WITH {CUBE | ROLLUP}
(7)  HAVING <having_condition>
(10) ORDER BY <order_by_list>
大家可以看到 这里的运行步骤不是像一般的编程 一句句从上往下 它是跳动的 有活力的
这里提前说下 每一步都会产生一个虚拟的表(也可能是游标,下面会提到),作为下一个步骤的输入。大家最后看到的结果其实就是最后一个虚拟表了。
好了,下面我开始具体阐释每个步骤:
测试环境:
--题目要求:求出学生最低科目成绩不低于90分且年龄在7岁以上的学生姓名
create table #student(s# int,sname varchar(10),age int)
create table #study (s# int, c# char(1),score int)
insert #student
1,'xiaozhu',10 union all select
2,'xiaomao' ,9union all select
3,'xiaozhe' ,7union all select
4,'xiaophai',8 union all select
5,'xiaoduo',9
insert #study select
1,'A',99 union all select
1,'B',90 union all select
1,'C',99 union all select
2,'A',99 union all select
2,'b',99 union all select
2,'c',98 union all select
3,'A',99 union all select
3,'b',92 union all select
3,'c',91 union all select
3,'d',90 union all select
4,'A',88 union all select
4,'B',96
--SQL语句
select top 1 sname,MIN(score) as minsocre
from #student s left outer join #study sc
on s.s#=sc.s#
where age>7
group by sname
having MIN(score)>=90
order by minsocre
/*
sname      minsocre
---------- -----------
xiaozhu    90
*/
(1):执行笛卡尔积(CROSS JOIN )
大家这


相关文档:

SQL聚集索引和非聚集索引


微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)……
  (一)深入浅出理解索引结构
  实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称 ......

一条SQL语句,关于字符分割关联多条记录的问题

 原文传送门:http://topic.csdn.net/u/20091010/14/FC7737C1-D60B-43F1-A8B5-A9EEF2DE4426.html
假如现在有两张表:
1.表stuinfo
sid sname subs
1  jack  |1|2|
2  marry |1|4|
3  tom  |3|
2.表subinfo
subid  subname
1      physics
2  &n ......

SQL数据库设计技巧浅谈

数据库设计经验谈
 
一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有 ......

月份处理及SQL时间条件instr函数

    YearCode:=yearof(Date);
      MonthCode:=monthof(Date);
      if  MonthCode>9 then
        FTime1:=inttostr(YearCode)+inttostr(MonthCode)
      else
 &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号