深爱那片海 发表于 2015-1-16 22:20:58

MSSQL网页编程之SQL循规蹈矩(21)更多的子查询

Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差更多的子查询
我们可使用在SELECT查询语句中再包含一个SELECT子查询语句。举个例子吧,起首我们列除一切购置宝贵物品的主顾,宝贵物品的尺度是比一切卖出的物品代价的均匀值多100元的物品。详细语句以下:
SELECTOWNERID
FROMANTIQUES
WHEREPRICE>
(SELECTAVG(PRICE)+100
FROMANTIQUES);
下面子查询语句是盘算物品的均匀代价再加100元,并搜刮一切在ANTIQUES表中PRICE年夜于这个数值的OWNERID。这里你可使用DISTINCTOWNERID来扫除复制的征象。
上面的语句列出了一切在AntiqueOwners表中的有买过物品的人的LastName:
SELECTOWNERLASTNAME
FROMANTIQUEOWNERS
WHEREOWNERID=

(SELECTDISTINCTBUYERID
FROMANTIQUES);
这个子查询前往了一系列的主顾,当且仅当物品具有者的ID呈现在子查询的列表中,古玩的具有者的LastName才会显现出来。
为了更新这个例子,我们假定有一个买过bookcase的主顾,他的FirstName在数据库中堕落了,应当为John:
UPDATEANTIQUEOWNERS
SETOWNERFIRSTNAME=John
WHEREOWNERID=

(SELECTBUYERID
FROMANTIQUES
WHEREITEM=Bookcase);
下面的语句中的子查询起首搜刮买过bookcase的主顾的BuyerID,然后在外层的查询中来更新他的FirstName。
我们分析上面的两个操作,都有一个“删除数据”的过程。

柔情似水 发表于 2015-1-19 09:08:36

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。

小女巫 发表于 2015-1-28 05:59:32

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

admin 发表于 2015-2-5 18:37:07

语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!

小魔女 发表于 2015-2-13 06:14:58

你可以简单地认为适合的就是好,不适合就是不好。

飘飘悠悠 发表于 2015-3-3 16:54:51

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。

山那边是海 发表于 2015-3-11 12:28:10

原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!

活着的死人 发表于 2015-3-18 17:39:40

原来公司用过MYSQL自己也只是建个表写个SQL

兰色精灵 发表于 2015-3-26 13:41:09

另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
页: [1]
查看完整版本: MSSQL网页编程之SQL循规蹈矩(21)更多的子查询