我爱Aspx >> Asp.Net >> 精妙SQL语句,基础,提升,技巧17、说明:随机取出10条数据
select top 10 * from tablename order by newid()
18、说明:随机选择记录
select newid()
19、说明:删除重复记录
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)
20、说明:列出数据库里所有的表名
select name from sysobjects where type='U'
21、说明:列出表里的所有的
select name from syscolumns where id=object_id('TableName')
22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
显示结果:
type vender pcs
电脑 A 1
电脑 A 1
光盘 B 2
光盘 A 2
手机 B 3
手机 C 3
23、说明:初始化表table1
TRUNCATE TABLE table1
24、说明:选择从10到15的记录
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc
三、技巧
1、1=1,1=2的使用,在SQL语句组合时用的较多
“where 1=1” 是表示选择全部 “where 1=2”全部不选,
如:
if @strWhere !=''
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
end
else
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end
我们可以直接写成
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere
2、收缩数据库
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
--收缩数据和日志
Ҷƪл˵?
预防SQL注入攻击(译自MSDN)[04-21]
常用SQL书写技巧[04-21]
从应用程序观SQL Server和Oracle..[03-18]
Sqlite数据库在Media NAS系统的应..[03-18]
数据库系统优化,高性能sql语句[03-18]
在SQL Server中用XQuery分解XML数..[03-18]
Microsoft SQL Server 2005 Serv..[03-18]
在C#中建立复杂的、灵活的SQL查询..[03-17]
在C#中建立复杂的、灵活的SQL查询..[03-16]
回家咯```祝福所有关注非寒日志的..[04-21]
泪的告白----哭泣的音乐[04-21]
我们住着世界上最贵的房子(转)[04-21]
Atlas学习手记系列文章收集[04-21]
ASP.NET 2.0客户端回调的实现分析[04-21]
用VS.NET中的测试工具测试ASP.NE..[04-21]
通过避免10 个常见 ASP.NET 缺陷..[04-21]
ASP.NET 2.0服务器控件与form ru..[04-21]
使用 C# .NET 写入事件日志[04-21]
我的可爱的小外甥们小侄子们[04-21]