sql题中的种种
在做sql题时,我们最怕遇到条件复杂的查询语句,因为大多时候需要两三个子查询来实现,
而大多数同学,可以说都比较怕子查询的,以前我也被这些题目弄的云里雾里的,
不过做多了这类的题目后发现,其实也有一定规律,我们可以总结一套适合自己的方法来处理,
下面时我对该类题目的处理方法:
有购物表如下:
题目: 查询购物商品类型不只一种的购物者的信息。
我将题目拆分如下:
则可得出两条查询语句:
<1>select * from 购物信息表 where 购物者 in……
<2>select 购物者 from 购物信息表 group by 购物者 having count(*)>=2
将语句<2>加到语句<1>后即可得出一种正确答案。
将语句从外向里剖析,拿出简单的查询语句,然后再组合。
当然我这里的题目,是我临时想的可能还比较简单,我有见过这样的语句
查询……的……的……的……的……。可以说可能有两三个或更多的子查询,那就需要有一个好的方法了。
相关文档:
我们使用oracle的人都知道可以通过rownum伪列得到查询结果序列前面的指定的行,为了下面更好的进行说明问题,我们先来创建一个数据表table1:
create table table1
(AAA integer primary key,
BBB varchar(30));
然后在table1中插入9条数据:
insert into table1 values (8, 'good');
insert into table1 values (7 ......
pl/sql 提供了强大而灵活的手段来捕捉和处理程序产生的异常,从而使 oracle 的用户远离一些令人烦恼的 bug 。
pl/sql 异常处理的概念和术语
在 oracle 中所有的错误都被认为是不应该发生的异常。一个异常可能是以下 3 种情况的一种:
u 由系统产生的错误(& ......
装了SQL2000后安装SQL2005,虽然使用别名加以区别了,但发现2005中没有可供访问的类似企业管理器,一时冲动,卸了2000,完整安装了2005,发现还是没有企业管理器,搜索过后才发现需要安装SQLServer2005_SSMSEE.msi(即SQLServerManagerStudioExpressEdition),它提供了类似企业管理器的图形化操作界面。
装好后,SQL ......
今天终于把这个问题给解决了:
参考文章:http://blog.csdn.net/long2006sky/archive/2007/04/23/1576583.aspx
实例说明:
环境:win2k+sqlserver 2K+查询分析器
SQLSERVER服务实例 ......
Sql Server 中一个非常强大的日期格式化函数
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVE ......