SQL语句备忘,重点语句!!

写SQL语句的时候,老是忘记这些,现在要记清楚了。。

数据分组:(Group By)

想到数据分组,联想到数据排序用到的(Order By)

数据分组是将某个列的相同数据分为一组。

语法:Group By 必须放到 Where 语句后面!没有出现在Group By中的字段,不能出现在Select后面的列名中!(聚合函数除外)

Having 语句:

联想:Where语句

Where语句不能出现聚合函数,所以,聚合函数只能放在Having语句中;

而Having语句要放在Group By之后;

注意:出现在Having后的语句,必须能放在Select语句后

如:Select * from emp Group By Salary Having Salary>2000 

这样就不行,因为Salary>2000 不能放在Select后面!

Having不能替代Where,作用不一样,Having是对组进行过滤!

限制结果集的函数:

取出数据的前几条Top语句

Select Top 3 ,* from emp

只显示查询结果的前三条,配合Row_Number 可用与数据分页!

去掉重复(Distincy):

Select distincy salary from Emp

注意:distncy 是对真个结果进行消除重复处理,而不是对某个字段!

联合查询(union):

联合查询就是将两条Select语句查询的结构合并到一起!

注意:使用联合查询两个Select语句的字段个数要相同,对应的字段类型要相容,

而且使用后自动去掉重复的的值,如果不需要去掉重复的值,则在union后加个all

几个常忘记的数据库函数:

GetDate()取得当前日期时间;

DateADD(datepart,number,date)计算增加以后的日期;

      第一个参数放year、mouth、day等等

      第二个参数放增量

      第三个参数放date

  如:dateadd(mouth,3,date) 就是将月份增加3;

DateDiff(datepart,stardate,enddate)计算连个日期的差额;

      第一个参数同上

      第二个参数放日期

      第三个参数放日期

    这样就计算出两个日期之间的差额

posted @ 2011-01-03 20:40  king_yibiao  阅读(284)  评论(0编辑  收藏  举报