1. 查询
(1)我估计再怎么健忘,都会记得select * from product.这样的语句。就是在最近的时候,在使用distinct的时候,发现还有以下用处:
(a) select distinct * from product 这是最通用的啦。查询所有不重复的数据。
(b) select distinct column1,column2 from product.的含义是,查询product表中,所有(column1,column2 )不同的记录。如果简单的只是查找不同的记录,group by 也可以达到想要的效果,但是就是觉得使用group by的时候限制太多。
(2)还有一个就是关键字:top
那天试了一下,发现,如果希望使用top @count(设置的变量),达到通过设置@count来设置查询前多少条记录。如果直接使用:
delcare @count
set @count = 100
select top @count * from product
是会提示错误的。需要改为:
delcare @count
set @count = 100
exec( select top @count * from product)
这也让我想起我在执行一个存储过程的时候,需要将时间作为参数传入。我使用 exec precdureTest getdate().的时候,提示错误,而且是我看不懂的错误。最后才发现,执行存储过程是,传入的参数不能是函数,系统自定义的函数也不可以。改为了:
delcare @calcDate
set @calcDate= getdate()
exec precdureTest getdate()
就可行了。
(3) 下一个关键字order by
我们经常在进行排序的时候,用到order by,其后基本上跟上column A。但是sql server是支持,写1,2这样的数字的,这个数字表示按照第几列排序。
(4) sql 函数
sql行数中,包含right、left等。