sql题中的种种
在做sql题时,我们最怕遇到条件复杂的查询语句,因为大多时候需要两三个子查询来实现,
而大多数同学,可以说都比较怕子查询的,以前我也被这些题目弄的云里雾里的,
不过做多了这类的题目后发现,其实也有一定规律,我们可以总结一套适合自己的方法来处理,
下面时我对该类题目的处理方法:
有购物表如下:
题目: 查询购物商品类型不只一种的购物者的信息。
我将题目拆分如下:
则可得出两条查询语句:
<1>select * from 购物信息表 where 购物者 in……
<2>select 购物者 from 购物信息表 group by 购物者 having count(*)>=2
将语句<2>加到语句<1>后即可得出一种正确答案。
将语句从外向里剖析,拿出简单的查询语句,然后再组合。
当然我这里的题目,是我临时想的可能还比较简单,我有见过这样的语句
查询……的……的……的……的……。可以说可能有两三个或更多的子查询,那就需要有一个好的方法了。
相关文档:
pl/sql 提供了强大而灵活的手段来捕捉和处理程序产生的异常,从而使 oracle 的用户远离一些令人烦恼的 bug 。
pl/sql 异常处理的概念和术语
在 oracle 中所有的错误都被认为是不应该发生的异常。一个异常可能是以下 3 种情况的一种:
u 由系统产生的错误(& ......
General Overview
FeatureSQL Server 2008 (RC0)MySQL 5.1/6PostgreSQL 8.3/PostGIS 1.3/1.4
OS
Windows XP, Windows Vista, Windows 2003, Windows 2008
Windows XP, Windows Vista, (haven't tested on 2008), Linux, Unix, Mac
Windows 2000+ (including Vista and 2003, haven't tested on 2008), Linux, Unix, Ma ......
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 ......
select case when b.name is null and c.name is null then '合计' when b.name is null and c.name is not null then '小计' else b.name end as mtrname,
sum(a.number),c.name as cname from x_sell a join x_material b on a.mtr=b.fid join p_organi c on c.fid=a.customer
where a.stime>'2009-10-01'
GROUP B ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......