利用"SQL"语句自动生成序号的两种方式

 

 

 

【赛迪网-IT技术报道】SQL Server2005数据库中利用SQL语句自动生成序号:

1.首先,我们来介绍第一种方式:

查询的SQL语句如下:

运行的结果:

2.最后,我们来介绍第二种方式:

在我们利用这种方式生成自动序号时,Test_Table必须在数据库中不能存在,因为在执行这些SQL语句的时后自动会创建表。

 

 

详细讲解有关获取当月天数的实用技巧

 

 

 

获取当月天数的实用技巧:

以下是引用片段:

分析如下:

 

 

 

 

  

以下是引用片段:

以下是引用片段:

 

 

取一表前N条记录 各个数据库的不同SQL写法

从别处看到的,本人在用的是DB2,竟然都不一样……看来是不能说SQL,所有的数据库用起来都一样了。 $r2>;Q?Q  
&f.;ydLYt  
1. ORACLE
g -HN M[1]
 
SELECT * FROM TABLE1 WHERE ROWNUM<=N m16!oAV?s  
2. INFORMIX c tP'/79]  
SELECT FIRST N * FROM TABLE1 > /zA]/^X  
3. DB2
4R!W-B

5  
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=
N bQaDIry'u  
DB2lU)6}Q'  
SELECT COLUMN FROM TABLE FETCH FIRST N ROWS ONLY .+f)f?­W‑6  
4. SQL SERVER X.LTZfA{  
SELECT TOP N * FROM TABLE1 02btp&T4B  
5. SYBASE $d,_g  ~  
SELECT TOP N * FROM TABLE1 7SqsVbLk   
6. mysql: Rb(_27T!vW  
select * from table_name limit N l;&!z;  
dLg#,ZGd

为什么SQL不许在视图定义ORDER BY子句

 

 

 

发布时间:2007.08.03 05:01     来源:赛迪网    作者:luoyingshu

 

问:为什么SQL Server不允许在视图定义使用ORDER BY子句?

答: SQL Server之所以不允许在视图定义中使用ORDER BY子句是为了遵守ANSI SQL-92标准。因为对该标准的原理分析需要对结构化查询语言(SQL)的底层结构和它所基于的数学理论进行讨论,我们不能在这里对它进行充分的解释。但是,如果你需要在视图中指定ORDER BY子句,可以考虑使用以下方法:

 

MicrosoftSQL Server 7.0中引入的TOP结构在同ORDER BY子句结合使用时是非常有用的。只有在同TOP关键词结合使用时,SQL Server才支持在视图中使用ORDER BY子句。

注意:TOP关键词是SQL ServerANSI SQL-92标准的扩展。

一条SQL语句变得巨慢的原因及其解决方法

 

 

 

发布时间:2008.01.30 04:58     来源:赛迪网    作者:赵震

 

现象:一条SQL突然运行的特别慢。

出错原因:用户增加了一个条件member.site=test,造成连接的顺序变化了,原来的驱动表是uidTable(最多1024条记录),现在变成了member表做驱动(600W条)。所以这条语句变的巨慢。

但是既然是外连接,为什么连接的顺序会改变呢?因为外连接的连接顺序不是由COST决定的,而是由连接的条件决定的。发现执行计划如下:

为什么根本就没有执行外连接呢?问题出在member.site='test'这个条件上,因为对外连接的表加了条件,造成外连接失效。改为member.site(+)='test'后,问题彻底解决。

你可能感兴趣的:(Sql)