原贴链接:http://community.csdn.net/Expert/topic/5413/5413089.xml?temp=.6840479

关于索引,推荐转载的这篇文章
http://blog.csdn.net/dutguoyi/archive/2006/01/10/575617.aspx

改善SQL语句的效率
http://community.csdn.net/Expert/topic/5087/5087396.xml?temp=.345669
数据量很大怎样加快索检速度
http://community.csdn.net/Expert/topic/5058/5058320.xml?temp=.1229517
索引建立方法的区别
http://community.csdn.net/Expert/topic/5068/5068154.xml?temp=.3010218
频繁插入删除数据需要更新索引
http://community.csdn.net/Expert/topic/4937/4937910.xml?temp=.8428614
测试了一下sql server 2005 全文检索
http://community.csdn.net/Expert/topic/4878/4878430.xml?temp=.6049311

其他关于效率的高频问题

判断一个表的数据不在另一个表中最优秀方法?
http://community.csdn.net/Expert/topic/5038/5038742.xml?temp=.4704553
删除千万级表中重复记录的办法
http://community.csdn.net/Expert/topic/5089/5089261.xml?temp=.7907068

数据库数据查询变得不正常类型问题

大数据量,稳定运行一段时候以后无法得到查询结果。
http://community.csdn.net/Expert/topic/4810/4810464.xml?temp=9.014529E-02

《SQL数据库资料整理》(2006年整理的)
文章太长,只要引过来:
http://bbs.54master.com/viewthread.php?action=printable&tid=127814


经典收藏SQL语句合集(来自大家的智慧)--返回表的字段名称
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
select name from syscolumns where id=object_id('jobs')

经典收藏SQL语句合集(来自大家的智慧)--刚看到的.新建一个与a表一样的空的b表
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
select * into b
经典收藏SQL语句合集(来自大家的智慧)
from a where 1<>1 

经典收藏SQL语句合集(来自大家的智慧)一些不错的sql语句,自己根据需要收藏吧,分给多点哦:)
经典收藏SQL语句合集(来自大家的智慧)
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
经典收藏SQL语句合集(来自大家的智慧)法一:
select * into b from a where 1<>1
经典收藏SQL语句合集(来自大家的智慧)法二:
select top 0 * into b from a
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
经典收藏SQL语句合集(来自大家的智慧)
insert into b(a, b, c) select d,e,f from b;
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
经典收藏SQL语句合集(来自大家的智慧)
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
经典收藏SQL语句合集(来自大家的智慧)例子:..
from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
4、说明:子查询(表名1:a 表名2:b)
经典收藏SQL语句合集(来自大家的智慧)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
5、说明:显示文章、提交人和最后回复时间
经典收藏SQL语句合集(来自大家的智慧)
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
6、说明:外连接查询(表名1:a 表名2:b)
经典收藏SQL语句合集(来自大家的智慧)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
7、说明:在线视图查询(表名1:a )
经典收藏SQL语句合集(来自大家的智慧)
select * from (SELECT a,b,c FROM a) T where t.a > 1;
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括
经典收藏SQL语句合集(来自大家的智慧)
select * from table1 where time between time1 and time2
经典收藏SQL语句合集(来自大家的智慧)
select a,b,c, from table1 where a not between 数值1 and 数值2
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
9、说明:in 的使用方法
经典收藏SQL语句合集(来自大家的智慧)
select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
10、说明:两张关联表,删除主表中已经在副表中没有的信息 
经典收藏SQL语句合集(来自大家的智慧)
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
11、说明:四表联查问题:
经典收藏SQL语句合集(来自大家的智慧)
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where 经典收藏SQL语句合集(来自大家的智慧)..
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
12、说明:日程安排提前五分钟提醒 
经典收藏SQL语句合集(来自大家的智慧)SQL: 
select * from 日程安排 where datediff('minute',f开始时间,getdate())>5
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
13、说明:一条sql 语句搞定数据库分页
经典收藏SQL语句合集(来自大家的智慧)
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
14、说明:前10条记录
经典收藏SQL语句合集(来自大家的智慧)
select top 10 * form table1 where 范围
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
经典收藏SQL语句合集(来自大家的智慧)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表
经典收藏SQL语句合集(来自大家的智慧)(
select a from tableA ) except (select a from tableB) except (select a from tableC)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
17、说明:随机取出10条数据
经典收藏SQL语句合集(来自大家的智慧)
select top 10 * from tablename order by newid()
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
18、说明:随机选择记录
经典收藏SQL语句合集(来自大家的智慧)
select newid()
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
19、说明:删除重复记录
经典收藏SQL语句合集(来自大家的智慧)
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,经典收藏SQL语句合集(来自大家的智慧))
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
20、说明:列出数据库里所有的表名
经典收藏SQL语句合集(来自大家的智慧)
select name from sysobjects where type='U' 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
21、说明:列出表里的所有的
经典收藏SQL语句合集(来自大家的智慧)
select name from syscolumns where id=object_id('TableName')
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。
经典收藏SQL语句合集(来自大家的智慧)
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 endFROM tablename group by type
经典收藏SQL语句合集(来自大家的智慧)显示结果:
经典收藏SQL语句合集(来自大家的智慧)type vender pcs
经典收藏SQL语句合集(来自大家的智慧)电脑 A 
1
经典收藏SQL语句合集(来自大家的智慧)电脑 A 
1
经典收藏SQL语句合集(来自大家的智慧)光盘 B 
2
经典收藏SQL语句合集(来自大家的智慧)光盘 A 
2
经典收藏SQL语句合集(来自大家的智慧)手机 B 
3
经典收藏SQL语句合集(来自大家的智慧)手机 C 
3
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
23、说明:初始化表table1
经典收藏SQL语句合集(来自大家的智慧)
TRUNCATE TABLE table1
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
24、说明:选择从10到15的记录
经典收藏SQL语句合集(来自大家的智慧)
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc

经典收藏SQL语句合集(来自大家的智慧)--如何将exec执行结果放入变量中? 
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
declare @num int
经典收藏SQL语句合集(来自大家的智慧)
@sqls nvarchar(4000
经典收藏SQL语句合集(来自大家的智慧)
set @sqls='select @a=count(*) from tableName ' 
经典收藏SQL语句合集(来自大家的智慧)
exec sp_executesql @sqls,N'@a int output',@num output 
经典收藏SQL语句合集(来自大家的智慧)
select @num 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--------------------------------------------------------------------------------
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)动态sql语句基本语法 
经典收藏SQL语句合集(来自大家的智慧)
1 :普通SQL语句可以用Exec执行 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)eg: 
Select * from tableName 
经典收藏SQL语句合集(来自大家的智慧)
Exec('select * from tableName'
经典收藏SQL语句合集(来自大家的智慧)
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N 
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)eg: 
经典收藏SQL语句合集(来自大家的智慧)
declare @fname varchar(20
经典收藏SQL语句合集(来自大家的智慧)
set @fname = 'FiledName' 
经典收藏SQL语句合集(来自大家的智慧)
Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。 
经典收藏SQL语句合集(来自大家的智慧)
Exec('select ' + @fname + ' from tableName'-- 请注意 加号前后的 单引号的边上加空格 
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)当然将字符串改成变量的形式也可 
经典收藏SQL语句合集(来自大家的智慧)
declare @fname varchar(20
经典收藏SQL语句合集(来自大家的智慧)
set @fname = 'FiledName' --设置字段名 
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
declare @s varchar(1000
经典收藏SQL语句合集(来自大家的智慧)
set @s = 'select ' + @fname + ' from tableName' 
经典收藏SQL语句合集(来自大家的智慧)
Exec(@s-- 成功 
经典收藏SQL语句合集(来自大家的智慧)
exec sp_executesql @s -- 此句会报错 
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
declare @s Nvarchar(1000-- 注意此处改为nvarchar(1000) 
经典收藏SQL语句合集(来自大家的智慧)
set @s = 'select ' + @fname + ' from tableName' 
经典收藏SQL语句合集(来自大家的智慧)
Exec(@s-- 成功 
经典收藏SQL语句合集(来自大家的智慧)
exec sp_executesql @s -- 此句正确 
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
3. 输出参数 
经典收藏SQL语句合集(来自大家的智慧)
declare @num int
经典收藏SQL语句合集(来自大家的智慧)
@sqls nvarchar(4000
经典收藏SQL语句合集(来自大家的智慧)
set @sqls='select count(*) from tableName' 
经典收藏SQL语句合集(来自大家的智慧)
exec(@sqls
经典收藏SQL语句合集(来自大家的智慧)
--如何将exec执行结果放入变量中? 
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
declare @num int
经典收藏SQL语句合集(来自大家的智慧)
@sqls nvarchar(4000
经典收藏SQL语句合集(来自大家的智慧)
set @sqls='select @a=count(*) from tableName ' 
经典收藏SQL语句合集(来自大家的智慧)
exec sp_executesql @sqls,N'@a int output',@num output 
经典收藏SQL语句合集(来自大家的智慧)
select @num 

经典收藏SQL语句合集(来自大家的智慧)delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )

经典收藏SQL语句合集(来自大家的智慧)select * from sysobjects where xtype='tr' --返回库中触发器
经典收藏SQL语句合集(来自大家的智慧)
select * from sysobjects where xtype='U'  --返回库中用户表

经典收藏SQL语句合集(来自大家的智慧)在CSDN上學到了一些
经典收藏SQL语句合集(来自大家的智慧)
1.日期算當月天數:
经典收藏SQL语句合集(来自大家的智慧)   
select Day(dateadd(day,-1,convert(datetime,convert(char(07),dateadd(m,1,getdate()),120)+'-01')))
经典收藏SQL语句合集(来自大家的智慧)   
select 32-Day(getdate()+(32-Day(getdate())))
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
2.簡單的分割字串:
经典收藏SQL语句合集(来自大家的智慧)   用
' union all select 'replace'分割符'

经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--修改用户数据库的排序规则
经典收藏SQL语句合集(来自大家的智慧)
ater database dbname collate SQL_Latin1_General_CP1_CI_AS
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--修改字段的排序规则
经典收藏SQL语句合集(来自大家的智慧)
alter table a alter column c2 varchar(50) collate SQL_Latin1_General_CP1_CI_AS
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--按姓氏笔画排序
经典收藏SQL语句合集(来自大家的智慧)
select * from 表名 order by 列名 Collate Chinese_PRC_Stroke_ci_as 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--按拼音首字母排序
经典收藏SQL语句合集(来自大家的智慧)
select * from 表名 order by 列名 Collate Chinese_PRC_CS_AS_KS_WS
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--查找一个Server下含有某个表名的数据库名字
经典收藏SQL语句合集(来自大家的智慧)
EXEC sp_msforeachdb '
经典收藏SQL语句合集(来自大家的智慧)USE [?]
经典收藏SQL语句合集(来自大家的智慧)IF OBJECT_ID(N
''表名'') IS NOT NULL
经典收藏SQL语句合集(来自大家的智慧)PRINT N
''?'''
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--查询所有表名、字段名及字段描述
经典收藏SQL语句合集(来自大家的智慧)
select 
经典收藏SQL语句合集(来自大家的智慧)    表名
=object_name(id), 
经典收藏SQL语句合集(来自大家的智慧)    列名
=col_name(object_id(object_name(id)),smallid), 
经典收藏SQL语句合集(来自大家的智慧)    描述
=value 
经典收藏SQL语句合集(来自大家的智慧)
from  sysproperties 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--查询所有表的记录数明细
经典收藏SQL语句合集(来自大家的智慧)--
方法(1)
经典收藏SQL语句合集(来自大家的智慧)
select  
经典收藏SQL语句合集(来自大家的智慧)    a.name,b.rows  
经典收藏SQL语句合集(来自大家的智慧)
from  
经典收藏SQL语句合集(来自大家的智慧)    sysobjects a, sysindexes b
经典收藏SQL语句合集(来自大家的智慧)
where  
经典收藏SQL语句合集(来自大家的智慧)    a.name
=b.name and  a.type='u' 
经典收藏SQL语句合集(来自大家的智慧)
--方法(2)
经典收藏SQL语句合集(来自大家的智慧)
sp_msforeachtable 'select ''?'' as ''表名'',(select sum(1) from ?) as ''记录数''' 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--复制表(表结构)
经典收藏SQL语句合集(来自大家的智慧)--
方法(1)
经典收藏SQL语句合集(来自大家的智慧)
select * into Employee_bak from Employee where 1<>1
经典收藏SQL语句合集(来自大家的智慧)
--方法(2)
经典收藏SQL语句合集(来自大家的智慧)
select top 0 * into Employee_bak from Employee
经典收藏SQL语句合集(来自大家的智慧)
--方法(3)
经典收藏SQL语句合集(来自大家的智慧)--
企业管理器中的右键表-->复制,然后在查询分析器中粘贴查看SQL语句
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--判断两字符是否完全(区分大小写)相等(如何判断字符的大小写)
经典收藏SQL语句合集(来自大家的智慧)
declare  @v  nvarchar(10)  
经典收藏SQL语句合集(来自大家的智慧)
declare  @p  nvarchar(10)  
经典收藏SQL语句合集(来自大家的智慧)
set  @v='NIPSAN'  
经典收藏SQL语句合集(来自大家的智慧)
if  cast(@v as  varbinary)= cast(@p as varbinary)  
经典收藏SQL语句合集(来自大家的智慧)    
print N'相等'  
经典收藏SQL语句合集(来自大家的智慧)
else    
经典收藏SQL语句合集(来自大家的智慧)    
print N'不等'  
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--得到数据库中所有表的空间/记录情况
经典收藏SQL语句合集(来自大家的智慧)
exec sp_MSForEachTable 
经典收藏SQL语句合集(来自大家的智慧)
@precommand=N'
经典收藏SQL语句合集(来自大家的智慧)create table ##(
经典收藏SQL语句合集(来自大家的智慧)id int identity,
经典收藏SQL语句合集(来自大家的智慧)表名 sysname,
经典收藏SQL语句合集(来自大家的智慧)字段数 int,
经典收藏SQL语句合集(来自大家的智慧)记录数 int,
经典收藏SQL语句合集(来自大家的智慧)保留空间 Nvarchar(10),
经典收藏SQL语句合集(来自大家的智慧)使用空间 varchar(10),
经典收藏SQL语句合集(来自大家的智慧)索引使用空间 varchar(10),
经典收藏SQL语句合集(来自大家的智慧)未用空间 varchar(10))
',
经典收藏SQL语句合集(来自大家的智慧)
@command1=N'insert ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) exec sp_spaceused ''?''
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)update ## set 字段数=(select count(*) from syscolumns where id=object_id(
''?'')) 
经典收藏SQL语句合集(来自大家的智慧)where id=scope_identity()
'@postcommand=N'select * from ## order by id drop table ##'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--查看硬盘分区:
经典收藏SQL语句合集(来自大家的智慧)
EXEC master..xp_fixeddrives
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--Order By的一个小技巧
经典收藏SQL语句合集(来自大家的智慧)
Order By可以指定列序而不用指定列名,在下面的例子里说明它的用处(注意,第三列未指定别名)
经典收藏SQL语句合集(来自大家的智慧)
Select a.ID,a.Name,(Select Count(*From TableB b Where a.ID=b.PID) From TableA a Order By 3
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)表结构新
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
SELECT 
经典收藏SQL语句合集(来自大家的智慧)表名
=case when a.colorder=1 then d.name else '' end,
经典收藏SQL语句合集(来自大家的智慧)表说明
=case when a.colorder=1 then isnull(f.value,''else '' end,
经典收藏SQL语句合集(来自大家的智慧)字段序号
=a.colorder,
经典收藏SQL语句合集(来自大家的智慧)字段名
=a.name,
经典收藏SQL语句合集(来自大家的智慧)标识
=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then ''else '' end,
经典收藏SQL语句合集(来自大家的智慧)主键
=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (
经典收藏SQL语句合集(来自大家的智慧)
SELECT name FROM sysindexes WHERE indid in(
经典收藏SQL语句合集(来自大家的智慧)
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
经典收藏SQL语句合集(来自大家的智慧)))) 
then '' else '' end,
经典收藏SQL语句合集(来自大家的智慧)类型
=b.name,
经典收藏SQL语句合集(来自大家的智慧)占用字节数
=a.length,
经典收藏SQL语句合集(来自大家的智慧)长度
=COLUMNPROPERTY(a.id,a.name,'PRECISION'),
经典收藏SQL语句合集(来自大家的智慧)小数位数
=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
经典收藏SQL语句合集(来自大家的智慧)允许空
=case when a.isnullable=1 then ''else '' end,
经典收藏SQL语句合集(来自大家的智慧)默认值
=isnull(e.text,''),
经典收藏SQL语句合集(来自大家的智慧)字段说明
=isnull(g.[value],''),
经典收藏SQL语句合集(来自大家的智慧)索引名称
=isnull(h.索引名称,''),
经典收藏SQL语句合集(来自大家的智慧)索引顺序
=isnull(h.排序,'')
经典收藏SQL语句合集(来自大家的智慧)
FROM syscolumns a
经典收藏SQL语句合集(来自大家的智慧)
left join systypes b on a.xtype=b.xusertype
经典收藏SQL语句合集(来自大家的智慧)
inner join sysobjects d on a.id=d.id  and d.xtype='U' and d.status>=0
经典收藏SQL语句合集(来自大家的智慧)
left join syscomments e on a.cdefault=e.id
经典收藏SQL语句合集(来自大家的智慧)
left join sysproperties g on a.id=g.id and a.colid=g.smallid  
经典收藏SQL语句合集(来自大家的智慧)
left join sysproperties f on d.id=f.id and f.smallid=0
经典收藏SQL语句合集(来自大家的智慧)
left join(--这部分是索引信息,如果要显示索引与表及字段的对应关系,可以只要此部分
经典收藏SQL语句合集(来自大家的智慧)
select 索引名称=a.name,c.id,d.colid
经典收藏SQL语句合集(来自大家的智慧),排序
=case indexkey_property(c.id,b.indid,b.keyno,'isdescending')
经典收藏SQL语句合集(来自大家的智慧)
when 1 then '降序' when 0 then '升序' end
经典收藏SQL语句合集(来自大家的智慧)
from sysindexes a
经典收藏SQL语句合集(来自大家的智慧)
join sysindexkeys b on a.id=b.id and a.indid=b.indid
经典收藏SQL语句合集(来自大家的智慧)
join (--这里的作用是有多个索引时,取索引号最小的那个
经典收藏SQL语句合集(来自大家的智慧)
select id,colid,indid=min(indid) from sysindexkeys
经典收藏SQL语句合集(来自大家的智慧)
group by id,colid) b1 on b.id=b1.id and b.colid=b1.colid and b.indid=b1.indid
经典收藏SQL语句合集(来自大家的智慧)
join sysobjects c on b.id=c.id and c.xtype='U' and c.status>=0
经典收藏SQL语句合集(来自大家的智慧)
join syscolumns d on b.id=d.id and b.colid=d.colid
经典收藏SQL语句合集(来自大家的智慧)
where a.indid not in(0,255)
经典收藏SQL语句合集(来自大家的智慧)) h 
on a.id=h.id and a.colid=h.colid
经典收藏SQL语句合集(来自大家的智慧)
--where d.name='要查询的表'    --如果只查询指定表,加上此条件
经典收藏SQL语句合集(来自大家的智慧)
order by a.id,a.colorder
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--索引信息
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
--索引信息
经典收藏SQL语句合集(来自大家的智慧)
select 索引名称=case when b.keyno=1 then a.name else '' end
经典收藏SQL语句合集(来自大家的智慧),表名
=case when b.keyno=1 then c.name else '' end
经典收藏SQL语句合集(来自大家的智慧),列名
=d.name
经典收藏SQL语句合集(来自大家的智慧),排序
=case indexkey_property(c.id,b.indid,b.keyno,'isdescending')
经典收藏SQL语句合集(来自大家的智慧)
when 1 then '降序' when 0 then '升序' end
经典收藏SQL语句合集(来自大家的智慧),聚集
=INDEXPROPERTY(c.id,a.name,'IsClustered')
经典收藏SQL语句合集(来自大家的智慧),唯一
=case INDEXPROPERTY(c.id,a.name,'IsUnique')
经典收藏SQL语句合集(来自大家的智慧)
when 0 then '非唯一'
经典收藏SQL语句合集(来自大家的智慧)
when 1 then case when e.id is null then '唯一索引' else '唯一约束' end
经典收藏SQL语句合集(来自大家的智慧)
end
经典收藏SQL语句合集(来自大家的智慧),e.name
经典收藏SQL语句合集(来自大家的智慧),填充因子
=a.OrigFillFactor
经典收藏SQL语句合集(来自大家的智慧)
from sysindexes a
经典收藏SQL语句合集(来自大家的智慧)
join sysindexkeys b on a.id=b.id and a.indid=b.indid
经典收藏SQL语句合集(来自大家的智慧)
--join (--这里的作用是有多个索引时,取索引号最小的那个
经典收藏SQL语句合集(来自大家的智慧)--
select id,colid,indid=min(indid) from sysindexkeys
经典收藏SQL语句合集(来自大家的智慧)--
group by id,colid) b1 on b.id=b1.id and b.colid=b1.colid and b.indid=b1.indid
经典收藏SQL语句合集(来自大家的智慧)
join sysobjects c on b.id=c.id and c.xtype='U' and c.status>=0
经典收藏SQL语句合集(来自大家的智慧)
join syscolumns d on b.id=d.id and b.colid=d.colid
经典收藏SQL语句合集(来自大家的智慧)
left join sysobjects e on b.indid=e.id and e.xtype='UQ'
经典收藏SQL语句合集(来自大家的智慧)
where a.indid not in(0,255)
经典收藏SQL语句合集(来自大家的智慧)
order by c.name,a.name
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)找出表中某一列相同的数据行
经典收藏SQL语句合集(来自大家的智慧)
select *from table where (column in(select column from table group by column having count(*)>1)

经典收藏SQL语句合集(来自大家的智慧)--1、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值,
经典收藏SQL语句合集(来自大家的智慧)--
显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。
经典收藏SQL语句合集(来自大家的智慧)
select emp_no ,emp_name ,dept ,
经典收藏SQL语句合集(来自大家的智慧)       
isnull(convert(char(10),birthday,120),'日期不详') birthday
经典收藏SQL语句合集(来自大家的智慧)
from employee
经典收藏SQL语句合集(来自大家的智慧)
order by dept
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--2、查找与喻自强在同一个单位的员工姓名、性别、部门和职称
经典收藏SQL语句合集(来自大家的智慧)
select emp_no,emp_name,dept,title
经典收藏SQL语句合集(来自大家的智慧)
from employee
经典收藏SQL语句合集(来自大家的智慧)
where emp_name<>'喻自强' and dept in
经典收藏SQL语句合集(来自大家的智慧)   (
select dept from employee
经典收藏SQL语句合集(来自大家的智慧)    
where emp_name='喻自强')
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--3、按部门进行汇总,统计每个部门的总工资
经典收藏SQL语句合集(来自大家的智慧)
select dept,sum(salary)
经典收藏SQL语句合集(来自大家的智慧)
from employee
经典收藏SQL语句合集(来自大家的智慧)
group by dept
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--4、查找商品名称为14寸显示器商品的销售情况,
经典收藏SQL语句合集(来自大家的智慧)--
显示该商品的编号、销售数量、单价和金额
经典收藏SQL语句合集(来自大家的智慧)
select a.prod_id,qty,unit_price,unit_price*qty totprice
经典收藏SQL语句合集(来自大家的智慧)
from sale_item a,product b
经典收藏SQL语句合集(来自大家的智慧)
where a.prod_id=b.prod_id and prod_name='14寸显示器'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--5、在销售明细表中按产品编号进行汇总,统计每种产品的销售数量和金额
经典收藏SQL语句合集(来自大家的智慧)
select prod_id,sum(qty) totqty,sum(qty*unit_price) totprice
经典收藏SQL语句合集(来自大家的智慧)
from sale_item
经典收藏SQL语句合集(来自大家的智慧)
group by prod_id
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--6、使用convert函数按客户编号统计每个客户1996年的订单总金额
经典收藏SQL语句合集(来自大家的智慧)
select cust_id,sum(tot_amt) totprice
经典收藏SQL语句合集(来自大家的智慧)
from sales
经典收藏SQL语句合集(来自大家的智慧)
where convert(char(4),order_date,120)='1996'
经典收藏SQL语句合集(来自大家的智慧)
group by cust_id
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--7、查找有销售记录的客户编号、名称和订单总额
经典收藏SQL语句合集(来自大家的智慧)
select a.cust_id,cust_name,sum(tot_amt) totprice
经典收藏SQL语句合集(来自大家的智慧)
from customer a,sales b
经典收藏SQL语句合集(来自大家的智慧)
where a.cust_id=b.cust_id
经典收藏SQL语句合集(来自大家的智慧)
group by a.cust_id,cust_name
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--8、查找在1997年中有销售记录的客户编号、名称和订单总额
经典收藏SQL语句合集(来自大家的智慧)
select a.cust_id,cust_name,sum(tot_amt) totprice
经典收藏SQL语句合集(来自大家的智慧)
from customer a,sales b
经典收藏SQL语句合集(来自大家的智慧)
where a.cust_id=b.cust_id and convert(char(4),order_date,120)='1997'
经典收藏SQL语句合集(来自大家的智慧)
group by a.cust_id,cust_name
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--9、查找一次销售最大的销售记录
经典收藏SQL语句合集(来自大家的智慧)
select order_no,cust_id,sale_id,tot_amt
经典收藏SQL语句合集(来自大家的智慧)
from sales
经典收藏SQL语句合集(来自大家的智慧)
where tot_amt=
经典收藏SQL语句合集(来自大家的智慧)   (
select max(tot_amt)
经典收藏SQL语句合集(来自大家的智慧)    
from sales)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--10、查找至少有3次销售的业务员名单和销售日期
经典收藏SQL语句合集(来自大家的智慧)
select emp_name,order_date
经典收藏SQL语句合集(来自大家的智慧)
from employee a,sales b 
经典收藏SQL语句合集(来自大家的智慧)
where emp_no=sale_id and a.emp_no in
经典收藏SQL语句合集(来自大家的智慧)  (
select sale_id
经典收藏SQL语句合集(来自大家的智慧)   
from sales
经典收藏SQL语句合集(来自大家的智慧)   
group by sale_id
经典收藏SQL语句合集(来自大家的智慧)   
having count(*)>=3)
经典收藏SQL语句合集(来自大家的智慧)
order by emp_name
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--11、用存在量词查找没有订货记录的客户名称
经典收藏SQL语句合集(来自大家的智慧)
select cust_name
经典收藏SQL语句合集(来自大家的智慧)
from customer a
经典收藏SQL语句合集(来自大家的智慧)
where not exists
经典收藏SQL语句合集(来自大家的智慧)   (
select *
经典收藏SQL语句合集(来自大家的智慧)    
from sales b
经典收藏SQL语句合集(来自大家的智慧)    
where a.cust_id=b.cust_id)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--12、使用左外连接查找每个客户的客户编号、名称、订货日期、订单金额
经典收藏SQL语句合集(来自大家的智慧)--
订货日期不要显示时间,日期格式为yyyy-mm-dd
经典收藏SQL语句合集(来自大家的智慧)--
按客户编号排序,同一客户再按订单降序排序输出
经典收藏SQL语句合集(来自大家的智慧)
select a.cust_id,cust_name,convert(char(10),order_date,120),tot_amt
经典收藏SQL语句合集(来自大家的智慧)
from customer a left outer join sales b on a.cust_id=b.cust_id
经典收藏SQL语句合集(来自大家的智慧)
order by a.cust_id,tot_amt desc
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--13、查找16M DRAM的销售情况,要求显示相应的销售员的姓名、
经典收藏SQL语句合集(来自大家的智慧)--
性别,销售日期、销售数量和金额,其中性别用男、女表示
经典收藏SQL语句合集(来自大家的智慧)
select emp_name 姓名, 性别= case a.sex  when 'm' then ''
经典收藏SQL语句合集(来自大家的智慧)                                       
when 'f' then '' 
经典收藏SQL语句合集(来自大家的智慧)                                       
else ''
经典收藏SQL语句合集(来自大家的智慧)                                       
end,
经典收藏SQL语句合集(来自大家的智慧)        销售日期
= isnull(convert(char(10),c.order_date,120),'日期不详'),
经典收藏SQL语句合集(来自大家的智慧)        qty 数量, qty
*unit_price as 金额
经典收藏SQL语句合集(来自大家的智慧)
from employee a, sales b, sale_item c,product d
经典收藏SQL语句合集(来自大家的智慧)
where d.prod_name='16M DRAM' and d.pro_id=c.prod_id and
经典收藏SQL语句合集(来自大家的智慧)      a.emp_no
=b.sale_id and b.order_no=c.order_no
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--14、查找每个人的销售记录,要求显示销售员的编号、姓名、性别、
经典收藏SQL语句合集(来自大家的智慧)--
产品名称、数量、单价、金额和销售日期
经典收藏SQL语句合集(来自大家的智慧)
select emp_no 编号,emp_name 姓名, 性别= case a.sex when 'm' then ''
经典收藏SQL语句合集(来自大家的智慧)                                       
when 'f' then '' 
经典收藏SQL语句合集(来自大家的智慧)                                       
else ''
经典收藏SQL语句合集(来自大家的智慧)                                       
end,
经典收藏SQL语句合集(来自大家的智慧)      prod_name 产品名称,销售日期
= isnull(convert(char(10),c.order_date,120),'日期不详'),
经典收藏SQL语句合集(来自大家的智慧)      qty 数量, qty
*unit_price as 金额
经典收藏SQL语句合集(来自大家的智慧)
from employee a left outer join sales b on a.emp_no=b.sale_id , sale_item c,product d
经典收藏SQL语句合集(来自大家的智慧)
where d.pro_id=c.prod_id and b.order_no=c.order_no
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--15、查找销售金额最大的客户名称和总货款
经典收藏SQL语句合集(来自大家的智慧)
select cust_name,d.cust_sum
经典收藏SQL语句合集(来自大家的智慧)
from   customer a,
经典收藏SQL语句合集(来自大家的智慧)       (
select cust_id,cust_sum
经典收藏SQL语句合集(来自大家的智慧)        
from (select cust_id, sum(tot_amt) as cust_sum
经典收藏SQL语句合集(来自大家的智慧)              
from sales
经典收藏SQL语句合集(来自大家的智慧)              
group by cust_id ) b
经典收藏SQL语句合集(来自大家的智慧)        
where b.cust_sum = 
经典收藏SQL语句合集(来自大家的智慧)               ( 
select max(cust_sum)
经典收藏SQL语句合集(来自大家的智慧)                 
from (select cust_id, sum(tot_amt) as cust_sum
经典收藏SQL语句合集(来自大家的智慧)                       
from sales
经典收藏SQL语句合集(来自大家的智慧)                       
group by cust_id ) c )
经典收藏SQL语句合集(来自大家的智慧)        ) d
经典收藏SQL语句合集(来自大家的智慧)
where a.cust_id=d.cust_id 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--16、查找销售总额少于1000元的销售员编号、姓名和销售额
经典收藏SQL语句合集(来自大家的智慧)
select emp_no,emp_name,d.sale_sum
经典收藏SQL语句合集(来自大家的智慧)
from   employee a,
经典收藏SQL语句合集(来自大家的智慧)       (
select sale_id,sale_sum
经典收藏SQL语句合集(来自大家的智慧)        
from (select sale_id, sum(tot_amt) as sale_sum
经典收藏SQL语句合集(来自大家的智慧)              
from sales
经典收藏SQL语句合集(来自大家的智慧)              
group by sale_id ) b
经典收藏SQL语句合集(来自大家的智慧)        
where b.sale_sum <1000               
经典收藏SQL语句合集(来自大家的智慧)        ) d
经典收藏SQL语句合集(来自大家的智慧)
where a.emp_no=d.sale_id 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--17、查找至少销售了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额
经典收藏SQL语句合集(来自大家的智慧)
select a.cust_id,cust_name,b.prod_id,prod_name,d.qty,d.qty*d.unit_price
经典收藏SQL语句合集(来自大家的智慧)
from customer a, product b, sales c, sale_item d
经典收藏SQL语句合集(来自大家的智慧)
where a.cust_id=c.cust_id and d.prod_id=b.prod_id and 
经典收藏SQL语句合集(来自大家的智慧)      c.order_no
=d.order_no and a.cust_id in (
经典收藏SQL语句合集(来自大家的智慧)      
select cust_id
经典收藏SQL语句合集(来自大家的智慧)      
from  (select cust_id,count(distinct prod_id) prodid
经典收藏SQL语句合集(来自大家的智慧)             
from (select cust_id,prod_id
经典收藏SQL语句合集(来自大家的智慧)                   
from sales e,sale_item f
经典收藏SQL语句合集(来自大家的智慧)                   
where e.order_no=f.order_no) g
经典收藏SQL语句合集(来自大家的智慧)             
group by cust_id
经典收藏SQL语句合集(来自大家的智慧)             
having count(distinct prod_id)>=3) h )
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--18、查找至少与世界技术开发公司销售相同的客户编号、名称和商品编号、商品名称、数量和金额
经典收藏SQL语句合集(来自大家的智慧)
select a.cust_id,cust_name,d.prod_id,prod_name,qty,qty*unit_price
经典收藏SQL语句合集(来自大家的智慧)
from customer a, product b, sales c, sale_item d
经典收藏SQL语句合集(来自大家的智慧)
where a.cust_id=c.cust_id and d.prod_id=b.prod_id and 
经典收藏SQL语句合集(来自大家的智慧)      c.order_no
=d.order_no  and not exists
经典收藏SQL语句合集(来自大家的智慧)  (
select f.*
经典收藏SQL语句合集(来自大家的智慧)   
from customer x ,sales e, sale_item f
经典收藏SQL语句合集(来自大家的智慧)   
where cust_name='世界技术开发公司' and x.cust_id=e.cust_id and
经典收藏SQL语句合集(来自大家的智慧)         e.order_no
=f.order_no and not exists
经典收藏SQL语句合集(来自大家的智慧)           ( 
select g.*
经典收藏SQL语句合集(来自大家的智慧)             
from sale_item g, sales  h
经典收藏SQL语句合集(来自大家的智慧)             
where g.prod_id = f.prod_id and g.order_no=h.order_no and
经典收藏SQL语句合集(来自大家的智慧)                   h.cust_id
=a.cust_id)
经典收藏SQL语句合集(来自大家的智慧)    )
经典收藏SQL语句合集(来自大家的智慧)   
经典收藏SQL语句合集(来自大家的智慧)
19、查找表中所有姓刘的职工的工号,部门,薪水
经典收藏SQL语句合集(来自大家的智慧)
select emp_no,emp_name,dept,salary
经典收藏SQL语句合集(来自大家的智慧)
from employee
经典收藏SQL语句合集(来自大家的智慧)
where emp_name like '刘%'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
20、查找所有定单金额高于20000的所有客户编号
经典收藏SQL语句合集(来自大家的智慧)
select cust_id
经典收藏SQL语句合集(来自大家的智慧)
from sales
经典收藏SQL语句合集(来自大家的智慧)
where tot_amt>20000
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
21、统计表中员工的薪水在40000-60000之间的人数
经典收藏SQL语句合集(来自大家的智慧)
select count(*)as 人数
经典收藏SQL语句合集(来自大家的智慧)
from employee
经典收藏SQL语句合集(来自大家的智慧)
where salary between 40000 and 60000
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
22、查询表中的同一部门的职工的平均工资,但只查询"住址"是"上海市"的员工
经典收藏SQL语句合集(来自大家的智慧)
select avg(salary) avg_sal,dept 
经典收藏SQL语句合集(来自大家的智慧)
from employee 
经典收藏SQL语句合集(来自大家的智慧)
where addr like '上海市%'
经典收藏SQL语句合集(来自大家的智慧)
group by dept
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
23、将表中住址为"上海市"的员工住址改为"北京市"
经典收藏SQL语句合集(来自大家的智慧)
update employee  
经典收藏SQL语句合集(来自大家的智慧)
set addr like '北京市'
经典收藏SQL语句合集(来自大家的智慧)
where addr like '上海市'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
24、查找业务部或会计部的女员工的基本信息。
经典收藏SQL语句合集(来自大家的智慧)
select emp_no,emp_name,dept
经典收藏SQL语句合集(来自大家的智慧)
from employee 
经典收藏SQL语句合集(来自大家的智慧)
where sex='F'and dept in ('业务','会计')
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
25、显示每种产品的销售金额总和,并依销售金额由大到小输出。
经典收藏SQL语句合集(来自大家的智慧)
select prod_id ,sum(qty*unit_price)
经典收藏SQL语句合集(来自大家的智慧)
from sale_item 
经典收藏SQL语句合集(来自大家的智慧)
group by prod_id
经典收藏SQL语句合集(来自大家的智慧)
order by sum(qty*unit_price) desc
经典收藏SQL语句合集(来自大家的智慧)26、选取编号界于‘C0001’和‘C0004’的客户编号、客户名称、客户地址。
经典收藏SQL语句合集(来自大家的智慧)
select CUST_ID,cust_name,addr
经典收藏SQL语句合集(来自大家的智慧)
from customer 
经典收藏SQL语句合集(来自大家的智慧)
where cust_id between 'C0001' AND 'C0004'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
27、计算出一共销售了几种产品。
经典收藏SQL语句合集(来自大家的智慧)
select count(distinct prod_id) as '共销售产品数'
经典收藏SQL语句合集(来自大家的智慧)
from sale_item 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
28、将业务部员工的薪水上调3%
经典收藏SQL语句合集(来自大家的智慧)
update employee
经典收藏SQL语句合集(来自大家的智慧)
set salary=salary*1.03
经典收藏SQL语句合集(来自大家的智慧)
where dept='业务'
经典收藏SQL语句合集(来自大家的智慧)    
经典收藏SQL语句合集(来自大家的智慧)
29、由employee表中查找出薪水最低的员工信息。
经典收藏SQL语句合集(来自大家的智慧)
select *
经典收藏SQL语句合集(来自大家的智慧)
from employee
经典收藏SQL语句合集(来自大家的智慧)
where salary=
经典收藏SQL语句合集(来自大家的智慧)       (
select min(salary )
经典收藏SQL语句合集(来自大家的智慧)        
from employee )
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
30、使用join查询客户姓名为"客户丙"所购货物的"客户名称","定单金额","定货日期","电话号码"
经典收藏SQL语句合集(来自大家的智慧)
select a.cust_id,b.tot_amt,b.order_date,a.tel_no
经典收藏SQL语句合集(来自大家的智慧)
from customer a join sales b
经典收藏SQL语句合集(来自大家的智慧)
on a.cust_id=b.cust_id and cust_name like '客户丙'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
31、由sales表中查找出订单金额大于“E0013业务员在1996/10/15这天所接每一张订单的金额”的所有订单。
经典收藏SQL语句合集(来自大家的智慧)
select *
经典收藏SQL语句合集(来自大家的智慧)
from sales
经典收藏SQL语句合集(来自大家的智慧)
where tot_amt>all
经典收藏SQL语句合集(来自大家的智慧)       (
select tot_amt 
经典收藏SQL语句合集(来自大家的智慧)        
from sales 
经典收藏SQL语句合集(来自大家的智慧)        
where sale_id='E0013'and order_date='1996/10/15')
经典收藏SQL语句合集(来自大家的智慧)
order by tot_amt
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
32、计算'P0001'产品的平均销售单价
经典收藏SQL语句合集(来自大家的智慧)
select avg(unit_price)
经典收藏SQL语句合集(来自大家的智慧)
from sale_item
经典收藏SQL语句合集(来自大家的智慧)
where prod_id='P0001'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
33、找出公司女员工所接的定单
经典收藏SQL语句合集(来自大家的智慧)
select sale_id,tot_amt
经典收藏SQL语句合集(来自大家的智慧)
from sales
经典收藏SQL语句合集(来自大家的智慧)
where sale_id in 
经典收藏SQL语句合集(来自大家的智慧)(
select sale_id from employee
经典收藏SQL语句合集(来自大家的智慧)
where sex='F')
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
34、找出同一天进入公司服务的员工
经典收藏SQL语句合集(来自大家的智慧)
select a.emp_no,a.emp_name,a.date_hired
经典收藏SQL语句合集(来自大家的智慧)
from employee a
经典收藏SQL语句合集(来自大家的智慧)
join employee b
经典收藏SQL语句合集(来自大家的智慧)
on (a.emp_no!=b.emp_no and a.date_hired=b.date_hired)
经典收藏SQL语句合集(来自大家的智慧)
order by a.date_hired
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
35、找出目前业绩超过232000元的员工编号和姓名。
经典收藏SQL语句合集(来自大家的智慧)
select emp_no,emp_name
经典收藏SQL语句合集(来自大家的智慧)
from employee 
经典收藏SQL语句合集(来自大家的智慧)
where emp_no in
经典收藏SQL语句合集(来自大家的智慧)(
select sale_id
经典收藏SQL语句合集(来自大家的智慧)
from sales 
经典收藏SQL语句合集(来自大家的智慧)
group by sale_id
经典收藏SQL语句合集(来自大家的智慧)
having sum(tot_amt)<232000)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
36、查询出employee表中所有女职工的平均工资和住址在"上海市"的所有女职工的平均工资
经典收藏SQL语句合集(来自大家的智慧)
select avg(salary)
经典收藏SQL语句合集(来自大家的智慧)
from employee
经典收藏SQL语句合集(来自大家的智慧)
where sex like 'f'
经典收藏SQL语句合集(来自大家的智慧)
union
经典收藏SQL语句合集(来自大家的智慧)
select avg(salary)
经典收藏SQL语句合集(来自大家的智慧)
from employee
经典收藏SQL语句合集(来自大家的智慧)
where sex like 'f' and addr like '上海市%'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
37、在employee表中查询薪水超过员工平均薪水的员工信息。
经典收藏SQL语句合集(来自大家的智慧)
Select * from employee where salary>(select avg(salary)  from employee)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
38、找出目前销售业绩超过40000元的业务员编号及销售业绩,并按销售业绩从大到小排序。
经典收藏SQL语句合集(来自大家的智慧)   
Select sale_id ,sum(tot_amt)
经典收藏SQL语句合集(来自大家的智慧)
from sales 
经典收藏SQL语句合集(来自大家的智慧)
group by sale_id 
经典收藏SQL语句合集(来自大家的智慧)
having sum(tot_amt)>40000
经典收藏SQL语句合集(来自大家的智慧)
order by sum(tot_amt) desc
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
39、找出公司男业务员所接且订单金额超过2000元的订单号及订单金额。
经典收藏SQL语句合集(来自大家的智慧)    
Select order_no,tot_amt
经典收藏SQL语句合集(来自大家的智慧)
From sales ,employee
经典收藏SQL语句合集(来自大家的智慧)
Where sale_id=emp_no and sex='M' and tot_amt>2000
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
40、查询sales表中订单金额最高的订单号及订单金额。
经典收藏SQL语句合集(来自大家的智慧)
Select order_no,tot_amt from sales where tot_amt=(select max(tot_amt)  from sales)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
41、查询在每张订单中订购金额超过24000元的客户名及其地址。
经典收藏SQL语句合集(来自大家的智慧)
Select cust_name,addr from customer a,sales b where a.cust_id=b.cust_id and tot_amt>24000
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
42、求出每位客户的总订购金额,显示出客户号及总订购金额,并按总订购金额降序排列。
经典收藏SQL语句合集(来自大家的智慧)   
Select cust_id,sum(tot_amt) from sales
经典收藏SQL语句合集(来自大家的智慧)
Group by cust_id 
经典收藏SQL语句合集(来自大家的智慧)
Order by sum(tot_amt) desc
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
43、求每位客户订购的每种产品的总数量及平均单价,并按客户号,产品号从小到大排列。
经典收藏SQL语句合集(来自大家的智慧)    
Select cust_id,prod_id,sum(qty),sum(qty*unit_price)/sum(qty)
经典收藏SQL语句合集(来自大家的智慧)
From sales a, sale_item b
经典收藏SQL语句合集(来自大家的智慧)
Where a.order_no=b.order_no
经典收藏SQL语句合集(来自大家的智慧)
Group by cust_id,prod_id
经典收藏SQL语句合集(来自大家的智慧)
Order by cust_id,prod_id
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
44、查询订购了三种以上产品的订单号。
经典收藏SQL语句合集(来自大家的智慧)    
Select order_no from sale_item
经典收藏SQL语句合集(来自大家的智慧)
Group by order_no
经典收藏SQL语句合集(来自大家的智慧)
Having count(*)>3
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
45、查询订购的产品至少包含了订单10003中所订购产品的订单。
经典收藏SQL语句合集(来自大家的智慧)   
Select  distinct order_no
经典收藏SQL语句合集(来自大家的智慧)
From sale_item a
经典收藏SQL语句合集(来自大家的智慧)
Where  order_no<>'10003'and  not exists ( 
经典收藏SQL语句合集(来自大家的智慧)
Select *  from sale_item b where order_no ='10003'  and not exists 
经典收藏SQL语句合集(来自大家的智慧)(
select *  from sale_item c where c.order_no=a.order_no  and  c.prod_id=b.prod_id))
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
46、在sales表中查找出订单金额大于“E0013业务员在1996/11/10这天所接每一张订单的金额”的所有订单,并显示承接这些订单的业务员和该订单的金额。
经典收藏SQL语句合集(来自大家的智慧)   
Select sale_id,tot_amt from sales
经典收藏SQL语句合集(来自大家的智慧)   
where tot_amt>all(select tot_amt from sales where sale_id='E0013' and order_date='1996/11/10')  
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
47、查询末承接业务的员工的信息。
经典收藏SQL语句合集(来自大家的智慧)    
Select *
经典收藏SQL语句合集(来自大家的智慧)
From employee a
经典收藏SQL语句合集(来自大家的智慧)
Where not exists 
经典收藏SQL语句合集(来自大家的智慧)(
select * from  sales b where  a.emp_no=b.sale_id)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
48、查询来自上海市的客户的姓名,电话、订单号及订单金额。
经典收藏SQL语句合集(来自大家的智慧)    
Select cust_name,tel_no,order_no,tot_amt
经典收藏SQL语句合集(来自大家的智慧)
From customer a ,sales b
经典收藏SQL语句合集(来自大家的智慧)
Where a.cust_id=b.cust_id and addr='上海市'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
49、查询每位业务员各个月的业绩,并按业务员编号、月份降序排序。
经典收藏SQL语句合集(来自大家的智慧)   
Select sale_id,month(order_date), sum(tot_amt) 
经典收藏SQL语句合集(来自大家的智慧)
from sales 
经典收藏SQL语句合集(来自大家的智慧)
group by sale_id,month(order_date)
经典收藏SQL语句合集(来自大家的智慧)
order by sale_id,month(order_date) desc
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
50、求每种产品的总销售数量及总销售金额,要求显示出产品编号、产品名称,总数量及总金额,并按产品号从小到大排列。
经典收藏SQL语句合集(来自大家的智慧)   
Select a.prod_id,prod_name,sum(qty),sum(qty*unit_price)
经典收藏SQL语句合集(来自大家的智慧)
From sale_item a,product b
经典收藏SQL语句合集(来自大家的智慧)
Where a.prod_id=b.prod_id 
经典收藏SQL语句合集(来自大家的智慧)
Group by a.prod_id,prod_name
经典收藏SQL语句合集(来自大家的智慧)
Order by a.prod_id
经典收藏SQL语句合集(来自大家的智慧)
51、查询总订购金额超过’C0002’客户的总订购金额的客户号,客户名及其住址。
经典收藏SQL语句合集(来自大家的智慧)   
Select cust_id, cust_name,addr
经典收藏SQL语句合集(来自大家的智慧)
From customer
经典收藏SQL语句合集(来自大家的智慧)
Where cust_id  in (select cust_id from sales 
经典收藏SQL语句合集(来自大家的智慧)
Group by cust_id
经典收藏SQL语句合集(来自大家的智慧)
Having sum(tot_amt)>
经典收藏SQL语句合集(来自大家的智慧)(
Select sum(tot_amt) from sales  where cust_id='C0002'))
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
52、查询业绩最好的的业务员号、业务员名及其总销售金额。
经典收藏SQL语句合集(来自大家的智慧)    
select emp_no,emp_name,sum(tot_amt)
经典收藏SQL语句合集(来自大家的智慧)
from employee a,sales b
经典收藏SQL语句合集(来自大家的智慧)
where a.emp_no=b.sale_id
经典收藏SQL语句合集(来自大家的智慧)
group by emp_no,emp_name
经典收藏SQL语句合集(来自大家的智慧)
having sum(tot_amt)=
经典收藏SQL语句合集(来自大家的智慧)         (
select max(totamt)
经典收藏SQL语句合集(来自大家的智慧)          
from (select sale_id,sum(tot_amt) totamt
经典收藏SQL语句合集(来自大家的智慧)               
from sales
经典收藏SQL语句合集(来自大家的智慧)               
group by sale_id) c)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
53、查询每位客户所订购的每种产品的详细清单,要求显示出客户号,客户名,产品号,产品名,数量及单价。
经典收藏SQL语句合集(来自大家的智慧)   
select a.cust_id, cust_name,c.prod_id,prod_name,qty, unit_price
经典收藏SQL语句合集(来自大家的智慧)
from customer a,sales b, sale_item c ,product d
经典收藏SQL语句合集(来自大家的智慧)
where a.cust_id=b.cust_id  and b.order_no=c.order_no and c.prod_id=d.prod_id
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
54、求各部门的平均薪水,要求按平均薪水从小到大排序。
经典收藏SQL语句合集(来自大家的智慧)   
select dept,avg(salary) from employee group by dept order by avg(salary)

经典收藏SQL语句合集(来自大家的智慧)将小写金额转换为中文大写  
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
CREATE   FUNCTION   [dbo].[f_num_chn]   (@num   numeric(14,2))   
经典收藏SQL语句合集(来自大家的智慧)  
RETURNS   varchar(100)   WITH   ENCRYPTION   
经典收藏SQL语句合集(来自大家的智慧)  
AS   
经典收藏SQL语句合集(来自大家的智慧)  
BEGIN   
经典收藏SQL语句合集(来自大家的智慧)  
--版权所有:csli888   
经典收藏SQL语句合集(来自大家的智慧)
      DECLARE   @n_data   VARCHAR(20),@c_data   VARCHAR(100),@n_str   VARCHAR(10),@i   int   
经典收藏SQL语句合集(来自大家的智慧)    
经典收藏SQL语句合集(来自大家的智慧)      
SET   @n_data=RIGHT(SPACE(14)+CAST(CAST(ABS(@num*100)   AS   bigint)   AS   varchar(20)),14)   
经典收藏SQL语句合集(来自大家的智慧)      
SET   @c_data=''   
经典收藏SQL语句合集(来自大家的智慧)      
SET   @i=1   
经典收藏SQL语句合集(来自大家的智慧)      
WHILE   @i<=14   
经典收藏SQL语句合集(来自大家的智慧)      
BEGIN   
经典收藏SQL语句合集(来自大家的智慧)          
SET   @n_str=SUBSTRING(@n_data,@i,1)   
经典收藏SQL语句合集(来自大家的智慧)          
IF   @n_str<>'   '   
经典收藏SQL语句合集(来自大家的智慧)          
BEGIN   
经典收藏SQL语句合集(来自大家的智慧)              
IF   not   ((SUBSTRING(@n_data,@i,2)='00')   or   
经典收藏SQL语句合集(来自大家的智慧)                  ((
@n_str='0')   and   ((@i=4)   or   (@i=8)   or   (@i=12)   or   (@i=14))))   
经典收藏SQL语句合集(来自大家的智慧)                  
SET   @c_data=@c_data+SUBSTRING('零壹贰叁肆伍陆柒捌玖',CAST(@n_str   AS   int)+1,1)   
经典收藏SQL语句合集(来自大家的智慧)              
IF   not   ((@n_str='0')   and   (@i<>4)   and   (@i<>8)   and   (@i<>12))   
经典收藏SQL语句合集(来自大家的智慧)                  
SET   @c_data=@c_data+SUBSTRING('仟佰拾亿仟佰拾万仟佰拾圆角分',@i,1)   
经典收藏SQL语句合集(来自大家的智慧)              
IF   SUBSTRING(@c_data,LEN(@c_data)-1,2)='亿万'   
经典收藏SQL语句合集(来自大家的智慧)                  
SET   @c_data=SUBSTRING(@c_data,1,LEN(@c_data)-1)   
经典收藏SQL语句合集(来自大家的智慧)          
END   
经典收藏SQL语句合集(来自大家的智慧)          
SET   @i=@i+1   
经典收藏SQL语句合集(来自大家的智慧)      
END   
经典收藏SQL语句合集(来自大家的智慧)      
IF   @num<0   
经典收藏SQL语句合集(来自大家的智慧)          
SET   @c_data='(负数)'+@c_data   
经典收藏SQL语句合集(来自大家的智慧)      
IF   @num=0   
经典收藏SQL语句合集(来自大家的智慧)          
SET   @c_data='零圆'   
经典收藏SQL语句合集(来自大家的智慧)      
IF   @n_str='0'   
经典收藏SQL语句合集(来自大家的智慧)          
SET   @c_data=@c_data+''   
经典收藏SQL语句合集(来自大家的智慧)      
RETURN(@c_data)   
经典收藏SQL语句合集(来自大家的智慧)  
END   
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)统计每周的数据量
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
CREATE PROCEDURE AccAllWeek
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧) 
AS
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
set nocount on
经典收藏SQL语句合集(来自大家的智慧)
declare @str nvarchar(3000)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
set @str=N'SELECT count(CASE dateName(dw,AddDate) WHEN  ''星期一'' THEN ''星期一'' END) AS a01,'
经典收藏SQL语句合集(来自大家的智慧)
set @str=@str+N'count(CASE dateName(dw,AddDate) WHEN ''星期二'' THEN ''星期二'' END) AS a02,'
经典收藏SQL语句合集(来自大家的智慧)
set @str=@str+N'count(CASE dateName(dw,AddDate) WHEN ''星期三'' THEN ''星期三'' END) AS a03,'
经典收藏SQL语句合集(来自大家的智慧)
set @str=@str+N'count(CASE dateName(dw,AddDate) WHEN ''星期四'' THEN ''星期四'' END) AS a04,'
经典收藏SQL语句合集(来自大家的智慧)
set @str=@str+N'count(CASE dateName(dw,AddDate) WHEN ''星期五'' THEN ''星期五'' END) AS a05,'
经典收藏SQL语句合集(来自大家的智慧)
set @str=@str+N'count(CASE dateName(dw,AddDate) WHEN ''星期六'' THEN ''星期六'' END) AS a06,'
经典收藏SQL语句合集(来自大家的智慧)
set @str=@str+N'count(CASE dateName(dw,AddDate) WHEN ''星期日'' THEN ''星期日'' END) AS a07'
经典收藏SQL语句合集(来自大家的智慧)
set @str=@str+N'  from YouTable'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
EXEC(@str)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)按星期格式返回7天中每天的数据比例

经典收藏SQL语句合集(来自大家的智慧)select @result = count* ) from user where username = @username and password = @password
经典收藏SQL语句合集(来自大家的智慧)             
if @result = 0
经典收藏SQL语句合集(来自大家的智慧)             
return 0
经典收藏SQL语句合集(来自大家的智慧)             
else 
经典收藏SQL语句合集(来自大家的智慧)             
return 1
经典收藏SQL语句合集(来自大家的智慧)
===============
经典收藏SQL语句合集(来自大家的智慧)改成:
经典收藏SQL语句合集(来自大家的智慧)
if exists(select 1  from user where username = @username and password = @password)
经典收藏SQL语句合集(来自大家的智慧)             
return 0
经典收藏SQL语句合集(来自大家的智慧)
else 
经典收藏SQL语句合集(来自大家的智慧)             
return 1

经典收藏SQL语句合集(来自大家的智慧)n久前整理过的一些最基本的,随意看看.
经典收藏SQL语句合集(来自大家的智慧)
1.Insert (添加数据)
经典收藏SQL语句合集(来自大家的智慧)  .Inert 
Into tb1(field1,field2) Values(11,'aa')
经典收藏SQL语句合集(来自大家的智慧)  .Inert tb1 
Values(11,"aa")
经典收藏SQL语句合集(来自大家的智慧)  .Inert tb1(field1,field2) 
Select field3,'s'+field4 From tb2 Where field3<22
经典收藏SQL语句合集(来自大家的智慧)  .Inert tb1 
Select * From tb2 Where field3<22
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
2.Update (修改数据)
经典收藏SQL语句合集(来自大家的智慧)  .
Update tb1 Set field1=field1+1,field2='zz' Where field1<1
经典收藏SQL语句合集(来自大家的智慧)  .
Update tb1 Set field1=field1+1,field2='zz' From (Select * From tb2 Where field3>1As a Where a.field3=table1.field2
经典收藏SQL语句合集(来自大家的智慧)  .
Update tb1 Set field1=field1+1,field2='zz' From table2 As a,table1 as b Where a.field4=table1.field2
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
3.Delete (删除数据)
经典收藏SQL语句合集(来自大家的智慧)  .
Delete table1 Where field2 Like 'a%'
经典收藏SQL语句合集(来自大家的智慧)  .
Delete table1 From (Select * From table2 Where field3<1As a Where a.field4=table1.field2
经典收藏SQL语句合集(来自大家的智慧)  .
Delete table1 As a,table2 As b Where a.field2=b.field4 And b.field3<1
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
4.Creat (在本机上新建msde数据库.如需安装在始动路径,改绝对路径为Application.StartupPath)
经典收藏SQL语句合集(来自大家的智慧)   .
if object_id('msde1'is null CREATE DATABASE msde1 ON (Name=msde1_dat,filename='C:\\msde1.mdf',size=10,maxsize=50,filegrowth=10%log on (name=msde1_log,filename='c:\\msde1.ldf',size=3,maxsize=20,filegrowth=1)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
5.Drop (删除表)
经典收藏SQL语句合集(来自大家的智慧)  .
Drop table1 
经典收藏SQL语句合集(来自大家的智慧)  .
if object_id('table1'is not null DROP TABLE table1 (删除之前可先判断一下.)
经典收藏SQL语句合集(来自大家的智慧)  .
Drop table1 Truncate Table table2 (如table1 参照 table2,需要先删除 table1)
经典收藏SQL语句合集(来自大家的智慧)  
经典收藏SQL语句合集(来自大家的智慧)
6.If,Else,Begin
经典收藏SQL语句合集(来自大家的智慧)  
If Exists(Select field2 From table1 Where field2='aa')
经典收藏SQL语句合集(来自大家的智慧)     
Begin
经典收藏SQL语句合集(来自大家的智慧)Delect table1 
Where field2='aa'
经典收藏SQL语句合集(来自大家的智慧)        
Print 'aa is deleted.'
经典收藏SQL语句合集(来自大家的智慧)     
End
经典收藏SQL语句合集(来自大家的智慧)  
Else
经典收藏SQL语句合集(来自大家的智慧)        
Print 'aa is not found.'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
7.Declare,GOTO
经典收藏SQL语句合集(来自大家的智慧)  
Declare @s int,@time int
经典收藏SQL语句合集(来自大家的智慧)  
Select @s=1,@time=1
经典收藏SQL语句合集(来自大家的智慧)  label1:
经典收藏SQL语句合集(来自大家的智慧)  
Select @s=@s*@time
经典收藏SQL语句合集(来自大家的智慧)  
Select @time=@time+1
经典收藏SQL语句合集(来自大家的智慧)  
If @time<=10
经典收藏SQL语句合集(来自大家的智慧)
GOTO label1
经典收藏SQL语句合集(来自大家的智慧)  
Print '10 n='+str(@s)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
8.While,Break,Continue
经典收藏SQL语句合集(来自大家的智慧)  
While Boolean   //Boolean: 1=1
经典收藏SQL语句合集(来自大家的智慧){SQL}
经典收藏SQL语句合集(来自大家的智慧) 
Break
经典收藏SQL语句合集(来自大家的智慧){SQL}
经典收藏SQL语句合集(来自大家的智慧)
Continue
经典收藏SQL语句合集(来自大家的智慧){SQL}
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
9.WaitFor
经典收藏SQL语句合集(来自大家的智慧)  
Begin
经典收藏SQL语句合集(来自大家的智慧)
WaitFor Time '10:00:00'  //(系统时间)
经典收藏SQL语句合集(来自大家的智慧)
Select * From Table1
经典收藏SQL语句合集(来自大家的智慧)  
End
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  
Begin
经典收藏SQL语句合集(来自大家的智慧)
WaitFor Delay '1:00:00'  //(1小时后)
经典收藏SQL语句合集(来自大家的智慧)
Select * From Table1
经典收藏SQL语句合集(来自大家的智慧)  
End
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
10.Return
经典收藏SQL语句合集(来自大家的智慧)   
Create Procedure check_contact @para varchare(40)
经典收藏SQL语句合集(来自大家的智慧)
AS
经典收藏SQL语句合集(来自大家的智慧)
If (Select contract From authors Where au_lname=@para)=1
经典收藏SQL语句合集(来自大家的智慧)
Return 1
经典收藏SQL语句合集(来自大家的智慧)
Else
经典收藏SQL语句合集(来自大家的智慧)
Return 2
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
11.Case
经典收藏SQL语句合集(来自大家的智慧)   
Select Name=Convert(varchar(15),au_lname),
经典收藏SQL语句合集(来自大家的智慧)Contract
=Case contract
经典收藏SQL语句合集(来自大家的智慧)
When 0 Then '0'
经典收藏SQL语句合集(来自大家的智慧)
When 1 Then '1'
经典收藏SQL语句合集(来自大家的智慧)
Else '2'
经典收藏SQL语句合集(来自大家的智慧)
End
经典收藏SQL语句合集(来自大家的智慧)   
From authors
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)   
Select Name=Convert(varchar(15),au_lname),
经典收藏SQL语句合集(来自大家的智慧)Contract
=Case
经典收藏SQL语句合集(来自大家的智慧)
When contract=0 Then '0'
经典收藏SQL语句合集(来自大家的智慧)
When contract<>0 Then '1'
经典收藏SQL语句合集(来自大家的智慧)
End
经典收藏SQL语句合集(来自大家的智慧)   
From authors
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
12.DataLength //返回表达式中数据的实际长度(如为字段名,则返回字段中数据的长度,非字段定义长度.)
经典收藏SQL语句合集(来自大家的智慧)   
Select Name=field1,DataLength=DataLength(field1) From table1
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
13.Current_TimeStamp //返回系统的当前日期和时间
经典收藏SQL语句合集(来自大家的智慧)   
Use pubs
经典收藏SQL语句合集(来自大家的智慧)   
GO
经典收藏SQL语句合集(来自大家的智慧)   Creat 
Table books
经典收藏SQL语句合集(来自大家的智慧)   {
经典收藏SQL语句合集(来自大家的智慧)book_id 
char(3Not NULL,
经典收藏SQL语句合集(来自大家的智慧)pub_date 
datetime Not NULL Default Current_TimeStamp,
经典收藏SQL语句合集(来自大家的智慧)price 
money
经典收藏SQL语句合集(来自大家的智慧)   }
经典收藏SQL语句合集(来自大家的智慧)   
GO
经典收藏SQL语句合集(来自大家的智慧)   
Insert books(book_id,price)
经典收藏SQL语句合集(来自大家的智慧)
Values('A01',$55.0)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
14.FormatMessage//格式化指定错误号的错误信息
经典收藏SQL语句合集(来自大家的智慧)   
Declare @Err123 nvarchar(64)
经典收藏SQL语句合集(来自大家的智慧)   
Set @Err123=FormatMessage(123,50)
经典收藏SQL语句合集(来自大家的智慧)   
Print @Err123
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
15.GetAnsiNULL//返回数据库的默认空值设置
经典收藏SQL语句合集(来自大家的智慧)   
Select GetAnsiNULL('pubs')//return 1:notNull;  return 0NULL
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
16.IsNULL //替换空值项(注意替换项和替换内容的类型需一致)
经典收藏SQL语句合集(来自大家的智慧)   
Select title=field2,num=IsNULL(field1,0From table1
经典收藏SQL语句合集(来自大家的智慧)   
Select title=field2,num=IsNULL(str(field1),'Nothing'From table1
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
17.Coalescs//返回参数中的第一个非空(NULL)表达式
经典收藏SQL语句合集(来自大家的智慧)   
Select title=field2,numMark=Coalescs(field1,field2,'Nothing'From table1
经典收藏SQL语句合集(来自大家的智慧)
////The Result: If field1 is null And field2 is not null Then return field2.value.
经典收藏SQL语句合集(来自大家的智慧)       
If field1 is null And field2 is null Then return 'Nothing'.
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
18.Permissions//返回用户的语句和对象权限.
经典收藏SQL语句合集(来自大家的智慧)   
Declare @state_p int,@object_p int
经典收藏SQL语句合集(来自大家的智慧)   
Set @state_p=Permissions()
经典收藏SQL语句合集(来自大家的智慧)
If (@sate_p & 2)=2
经典收藏SQL语句合集(来自大家的智慧)
Print '你可以在当前数据库中创建表'
经典收藏SQL语句合集(来自大家的智慧)
If (@sate_p & 4)=4
经典收藏SQL语句合集(来自大家的智慧)
Print '你可以在当前数据库中创建存储过程'
经典收藏SQL语句合集(来自大家的智慧)
If (@sate_p & 8)=8
经典收藏SQL语句合集(来自大家的智慧)
Print '你可以在当前数据库中创建视图'
经典收藏SQL语句合集(来自大家的智慧)
Set @object_p=Permissions(Object_id('pubs..jobs'))
经典收藏SQL语句合集(来自大家的智慧)
If (@object_p & 1)=1
经典收藏SQL语句合集(来自大家的智慧)
Print '你可以检索jobs表中的数据'
经典收藏SQL语句合集(来自大家的智慧)
If (@object_p & 2)=2
经典收藏SQL语句合集(来自大家的智慧)
Print '你可以修改jobs表中的数据'
经典收藏SQL语句合集(来自大家的智慧)
If (@object_p & 8)=8
经典收藏SQL语句合集(来自大家的智慧)
Print '你可以向jobs表中添加数据'
经典收藏SQL语句合集(来自大家的智慧)
If (@object_p & 16)=16
经典收藏SQL语句合集(来自大家的智慧)
Print '你可以删除jobs表中的数据'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
19.Convert//转换函数(从一种系统数据类型转换为另外一种)
经典收藏SQL语句合集(来自大家的智慧)   
Select thetime1=Convert(char,Current_TimeStamp,120),thetime2=Convert(char,Current_TimeStamp,108)
经典收藏SQL语句合集(来自大家的智慧)
//////The Result: thetime1:2006-03-13 15:50:00; thetime2:03:50:00
经典收藏SQL语句合集(来自大家的智慧)   
Select s0=Convert(char,$123456789.9876,0),s1=Convert(char,$123456789.9876,1),s2=Convert(char,$123456789.9876,2)
经典收藏SQL语句合集(来自大家的智慧)
//////The Result: s0:123456789.99; s1:123,456,789.99; s2:123456789.9876
经典收藏SQL语句合集(来自大家的智慧)   
Select n0=Convert(char,123456789.9876,0),n1=Convert(char,$123456789.9876,1),n2=Convert(char,$123456789.9876,2)
经典收藏SQL语句合集(来自大家的智慧)
//////The Result: n0:123457; n1:1.2345679e+005; n2:1.234567890000000e+005
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
20.Cast//转换函数(转换格式控制没有Convert函数灵活)
经典收藏SQL语句合集(来自大家的智慧)   
Select title_id,theDate=Cast(pubdate As Char(11)) From titles Where title_id Like 'b%'
经典收藏SQL语句合集(来自大家的智慧)
//////The Result: title_id: BU1032; theDate: Jun 12 1991
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
****************************
经典收藏SQL语句合集(来自大家的智慧)一些日期元素的取值范围:yy(
1753~9999),qq(1~4),mm(1~12),dy(1~366),dd(1~31),wk(0~51),hh(0~23),mi(1~59),ss(1~59),ms(0~999)
经典收藏SQL语句合集(来自大家的智慧)
****************************
经典收藏SQL语句合集(来自大家的智慧)
21.DateAdd//返回指定时间间隔后的日期.
经典收藏SQL语句合集(来自大家的智慧)   
Select NowDate=GetDate(),LateDate=DateAdd(dy,60,GetDate())
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
22.DateDiff       //返回时间间隔.
经典收藏SQL语句合集(来自大家的智慧)   
Select TheDate=pubdate,NowDate=GetDate(),NY=DateDiff(yy,pubdate,GetDate()),NM=DateDiff(mm,pubdate,GetDate()) From titles Where type='business'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
23.DateName,DatePart//返回日期中指定部分对应的字符串,整数值
经典收藏SQL语句合集(来自大家的智慧)   
Select YN=DateName(yy,GetDate())   The Result:'2006'
经典收藏SQL语句合集(来自大家的智慧)   
Select YI=DatePart(yy,GetDate())   The Result:2006
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
24.Char,Ascii
经典收藏SQL语句合集(来自大家的智慧)   
Print 'A==>ASCII value is:'+Char(13)+Str(Ascii('A'),2,0)//Enter key ASCII is 13.
经典收藏SQL语句合集(来自大家的智慧)
//////The Result:A==>ASCII value is:
经典收藏SQL语句合集(来自大家的智慧)                 
65
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
25.Stuff  //删除字符串中指定位置的字符串,然后在删除位置插入字符串.
经典收藏SQL语句合集(来自大家的智慧)   
Print Stuff('abcdefghijk',3,5,'ABCD')
经典收藏SQL语句合集(来自大家的智慧)
//////The Result:abABCDhijk
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
26.Str
经典收藏SQL语句合集(来自大家的智慧)   
Print Str(10.1234,10,6)
经典收藏SQL语句合集(来自大家的智慧)
//////The Result:10.123400
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
27.Replicate,Replace//按指定次数复制字符串,替换字符串中的内容.
经典收藏SQL语句合集(来自大家的智慧)   
Select Replace(Replicate('ABC',2),'BC','bc')
经典收藏SQL语句合集(来自大家的智慧)
//////The Result:AbcAbc
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
28.sin,cos,tan,ctan经典收藏SQL语句合集(来自大家的智慧),Radians
经典收藏SQL语句合集(来自大家的智慧)   
Select sin30du=Sin(Radians(30.0)),ctan30du=cot(Radians(30.0))
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
29.Round(近似值)
经典收藏SQL语句合集(来自大家的智慧)   
Select r1=Round(918.2736,3),r2=Round(918.2736,-2),r3=Round(918.2736,3,1),r4=Round(918.2736,-2,1)
经典收藏SQL语句合集(来自大家的智慧)
//////The Result: r1:918.2740; r2:900.0000; r3:918.2730; r4:900.0000;



经典收藏SQL语句合集(来自大家的智慧)经过对SQLServer2000系统表的分析,写出了以下两个SQL语句。可以把这两个语句分别建为两个“视图”,方便查看用户数据表和字段的信息。
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
1、列出所有的用户数据表:
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
SELECT TOP 100 PERCENT o.name AS 表名
经典收藏SQL语句合集(来自大家的智慧)
FROM dbo.syscolumns c INNER JOIN
经典收藏SQL语句合集(来自大家的智慧)      dbo.sysobjects o 
ON o.id = c.id AND objectproperty(o.id, N'IsUserTable'= 1 AND 
经典收藏SQL语句合集(来自大家的智慧)      o.name 
<> 'dtproperties' LEFT OUTER JOIN
经典收藏SQL语句合集(来自大家的智慧)      dbo.sysproperties m 
ON m.id = o.id AND m.smallid = c.colorder
经典收藏SQL语句合集(来自大家的智慧)
WHERE (c.colid = 1)
经典收藏SQL语句合集(来自大家的智慧)
ORDER BY o.name, c.colid
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
2、列出所有的用户数据表及其字段信息:
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
SELECT TOP 100 PERCENT c.colid AS 序号, o.name AS 表名, c.name AS 列名, 
经典收藏SQL语句合集(来自大家的智慧)      t.name 
AS 类型, c.length AS 长度, c.isnullable AS 允许空, 
经典收藏SQL语句合集(来自大家的智慧)      
CAST(m.[value] AS Varchar(100)) AS 说明
经典收藏SQL语句合集(来自大家的智慧)
FROM dbo.syscolumns c INNER JOIN
经典收藏SQL语句合集(来自大家的智慧)      dbo.sysobjects o 
ON o.id = c.id AND objectproperty(o.id, N'IsUserTable'= 1 AND 
经典收藏SQL语句合集(来自大家的智慧)      o.name 
<> 'dtproperties' INNER JOIN
经典收藏SQL语句合集(来自大家的智慧)      dbo.systypes t 
ON t.xusertype = c.xusertype LEFT OUTER JOIN
经典收藏SQL语句合集(来自大家的智慧)      dbo.sysproperties m 
ON m.id = o.id AND m.smallid = c.colorder
经典收藏SQL语句合集(来自大家的智慧)
ORDER BY o.name, c.colid
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)你如果有更好的方法,请交流一下:)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
----作者:夏春涛 Email:xChuntao@163.com  QQ:23106676 ----
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
From: http://www.cnblogs.com/bluesky521/archive/2007/03/23/685783.html

经典收藏SQL语句合集(来自大家的智慧)CREATE PROCEDURE sp_page
经典收藏SQL语句合集(来自大家的智慧)
@CurrentPage int@PageSize int,@Field_Info varchar(500),@Table_info varchar(20),@Field_id varchar(10),@intOrder int,@otherwhere varchar(50),@RecordCount int output,@PageCount int output
经典收藏SQL语句合集(来自大家的智慧)
--@CurrentPage为显示那一页,@PageSize为每一页显示几行,@Field_info为要显示的字段可以为*,@Table_info为要查询的表或视图,@field_id为按这个字段排序,@intorder0为升序排1为降序排,@otherwhere为条件,@RecordCount为总行数,@PageCount为总页数
经典收藏SQL语句合集(来自大家的智慧)
AS
经典收藏SQL语句合集(来自大家的智慧)
DECLARE @MinPage int@MaxPage int
经典收藏SQL语句合集(来自大家的智慧)
declare @sql varchar(1000)
经典收藏SQL语句合集(来自大家的智慧)
declare @sqlt nvarchar(300)
经典收藏SQL语句合集(来自大家的智慧)
declare @order varchar(4)
经典收藏SQL语句合集(来自大家的智慧)
set @sqlt = 'SELECT @RecordCount = COUNT(' + @Field_id + ') FROM ' + @Table_Info
经典收藏SQL语句合集(来自大家的智慧)
exec sp_executesql @sqlt,N'@RecordCount int output',@RecordCount output     --如何将exec执行结果放入变量中,如果是字符串就要用N,N后面的变量一定要和@sqlt里面的变量同名
经典收藏SQL语句合集(来自大家的智慧)
IF @PageSize <= 0
经典收藏SQL语句合集(来自大家的智慧)
begin
经典收藏SQL语句合集(来自大家的智慧)
set @PageSize = 10
经典收藏SQL语句合集(来自大家的智慧)
end
经典收藏SQL语句合集(来自大家的智慧)
else if @PageSize > @RecordCount
经典收藏SQL语句合集(来自大家的智慧)
begin
经典收藏SQL语句合集(来自大家的智慧)
set @pageSize = @RecordCount
经典收藏SQL语句合集(来自大家的智慧)
end
经典收藏SQL语句合集(来自大家的智慧)
set @pagecount = @RecordCount / @PageSize
经典收藏SQL语句合集(来自大家的智慧)
if ((@recordcount % @pagesize!= 0)--如果除不尽则加一页
经典收藏SQL语句合集(来自大家的智慧)
begin
经典收藏SQL语句合集(来自大家的智慧)
set @PageCount = @RecordCount / @PageSize
经典收藏SQL语句合集(来自大家的智慧)
set @PageCount = @pagecount + 1
经典收藏SQL语句合集(来自大家的智慧)
end
经典收藏SQL语句合集(来自大家的智慧)
else
经典收藏SQL语句合集(来自大家的智慧)
begin
经典收藏SQL语句合集(来自大家的智慧)
set @pagecount = @recordcount /@PageSize
经典收藏SQL语句合集(来自大家的智慧)
end
经典收藏SQL语句合集(来自大家的智慧)
IF @CurrentPage <= 0
经典收藏SQL语句合集(来自大家的智慧)
begin
经典收藏SQL语句合集(来自大家的智慧)
set @CurrentPage = 1
经典收藏SQL语句合集(来自大家的智慧)
end
经典收藏SQL语句合集(来自大家的智慧)
else if @CurrentPage > @pagecount
经典收藏SQL语句合集(来自大家的智慧)
begin
经典收藏SQL语句合集(来自大家的智慧)
set @currentpage = @pagecount--如果输入页数大于总页数则符最后一页
经典收藏SQL语句合集(来自大家的智慧)
end
经典收藏SQL语句合集(来自大家的智慧)
SET @MinPage = (@CurrentPage - 1* @PageSize + 1
经典收藏SQL语句合集(来自大家的智慧)
SET @MaxPage = @MinPage + @PageSize - 1
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
BEGIN
经典收藏SQL语句合集(来自大家的智慧)
if @intorder = 0
经典收藏SQL语句合集(来自大家的智慧)
set @order = 'asc'
经典收藏SQL语句合集(来自大家的智慧)
else
经典收藏SQL语句合集(来自大家的智慧)
set @order = 'desc'
经典收藏SQL语句合集(来自大家的智慧)
if @Field_Info like ''
经典收藏SQL语句合集(来自大家的智慧)
set @field_Info = '*'
经典收藏SQL语句合集(来自大家的智慧)
if @otherwhere like ''
经典收藏SQL语句合集(来自大家的智慧)
set @sql = 'select ' + @Field_Info + ' from (select ' +  @Field_Info + ' , row_number() over(order by ' + @Field_id + ' ' + @Order + ') as rownumber from ' + @Table_info + ') as a where rownumber between ' + convert(varchar(10),@minpage+ ' and ' + convert(varchar(10),@maxpage)
经典收藏SQL语句合集(来自大家的智慧)
else
经典收藏SQL语句合集(来自大家的智慧)
set @sql = 'select ' + @Field_Info + ' from (select ' +  @Field_Info + ' , row_number() over(order by ' + @Field_id + ' ' + @Order + ') as rownumber from ' + @Table_info + ') as a where rownumber between ' + convert(varchar(10),@minpage+ ' and ' + convert(varchar(10),@maxpage+ ' and ' + @otherwhere
经典收藏SQL语句合集(来自大家的智慧)
exec(@sql)
经典收藏SQL语句合集(来自大家的智慧)
END
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
declare @rcon int
经典收藏SQL语句合集(来自大家的智慧)
declare @pcon int 
经典收藏SQL语句合集(来自大家的智慧)
exec sp_page 8,73,'','user_info','id',0,'',@rcon output,@pcon output
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)这是我修改别人的一个数据库分页的存储过程

经典收藏SQL语句合集(来自大家的智慧)--清除企业管理器的备份历史记录
经典收藏SQL语句合集(来自大家的智慧)

经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
use msdb 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
declare @db varchar(100)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
set @db = '数据库名'
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--查看SQL Server企业管理器的备份数据库历史记录
经典收藏SQL语句合集(来自大家的智慧)
select f.device_type, f.physical_device_name, f.logical_device_name, b.database_name 
经典收藏SQL语句合集(来自大家的智慧)
from backupmediafamily f, backupset b 
经典收藏SQL语句合集(来自大家的智慧)
where b.database_name = @db and b.backup_finish_date in (select backup_finish_date from backupmediafamily INNER JOIN backupset ON backupmediafamily.media_set_id=backupset.media_set_id where backupset.database_name = @db and (backupmediafamily.device_type=2 or backupmediafamily.device_type=102)) and b.media_set_id = f.media_set_id
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
--删除SQL Server企业管理器的备份数据库历史记录
经典收藏SQL语句合集(来自大家的智慧)
delete backupmediafamily
经典收藏SQL语句合集(来自大家的智慧)
from backupmediafamily f, backupset b 
经典收藏SQL语句合集(来自大家的智慧)
where b.database_name = @db and b.backup_finish_date in (select backup_finish_date from backupmediafamily INNER JOIN backupset ON backupmediafamily.media_set_id=backupset.media_set_id where backupset.database_name = @db and (backupmediafamily.device_type=2 or backupmediafamily.device_type=102)) and b.media_set_id = f.media_set_id

经典收藏SQL语句合集(来自大家的智慧)  随机选择数据库记录的方法(使用Randomize函数,通过SQL语句实现)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见的解决方案是建立如下所示的循环:
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)Randomize 
经典收藏SQL语句合集(来自大家的智慧)RNumber 
= Int(Rnd*499+1 
经典收藏SQL语句合集(来自大家的智慧) 
经典收藏SQL语句合集(来自大家的智慧)
While Not objRec.EOF 
经典收藏SQL语句合集(来自大家的智慧)
If objRec("ID") = RNumber THEN 
经典收藏SQL语句合集(来自大家的智慧)经典收藏SQL语句合集(来自大家的智慧) 这里是执行脚本 经典收藏SQL语句合集(来自大家的智慧) 
经典收藏SQL语句合集(来自大家的智慧)
end if 
经典收藏SQL语句合集(来自大家的智慧)objRec.MoveNext 
经典收藏SQL语句合集(来自大家的智慧)Wend 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  这很容易理解。首先,你取出1到500范围之内的一个随机数(假设500就是数据库内记录的总数)。然后,你遍历每一记录来测试ID 的值、检查其是否匹配RNumber。满足条件的话就执行由THEN 关键字开始的那一块代码。假如你的RNumber 等于495,那么要循环一遍数据库花的时间可就长了。虽然500这个数字看起来大了些,但相比更为稳固的企业解决方案这还是个小型数据库了,后者通常在一个数据库内就包含了成千上万条记录。这时候不就死定了? 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  采用SQL,你就可以很快地找出准确的记录并且打开一个只包含该记录的recordset,如下所示:
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)Randomize 
经典收藏SQL语句合集(来自大家的智慧)RNumber 
= Int(Rnd*499+ 1 
经典收藏SQL语句合集(来自大家的智慧) 
经典收藏SQL语句合集(来自大家的智慧)SQL 
= "SELECT * FROM Customers WHERE ID = " & RNumber 
经典收藏SQL语句合集(来自大家的智慧) 
经典收藏SQL语句合集(来自大家的智慧)
set objRec = ObjConn.Execute(SQL) 
经典收藏SQL语句合集(来自大家的智慧)Response.WriteRNumber 
& " = " & objRec("ID") & " " & objRec("c_email")
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  不必写出RNumber 和ID,你只需要检查匹配情况即可。只要你对以上代码的工作满意,你自可按需操作“随机”记录。Recordset没有包含其他内容,因此你很快就能找到你需要的记录这样就大大降低了处理时间。
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)   再谈随机数
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  现在你下定决心要榨干Random 函数的最后一滴油,那么你可能会一次取出多条随机记录或者想采用一定随机范围内的记录。把上面的标准Random 示例扩展一下就可以用SQL应对上面两种情况了。
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  为了取出几条随机选择的记录并存放在同一recordset内,你可以存储三个随机数,然后查询数据库获得匹配这些数字的记录: 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  SQL 
= "SELECT * FROM Customers WHERE ID = " & RNumber & " OR ID = " & RNumber2 & " OR ID = " & RNumber3 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  假如你想选出10条记录(也许是每次页面装载时的10条链接的列表),你可以用BETWEEN 或者数学等式选出第一条记录和适当数量的递增记录。这一操作可以通过好几种方式来完成,但是 
SELECT 语句只显示一种可能(这里的ID 是自动生成的号码): 
经典收藏SQL语句合集(来自大家的智慧)SQL 
= "SELECT * FROM Customers WHERE ID BETWEEN " & RNumber & " AND " & RNumber & "+ 9
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  注意:以上代码的执行目的不是检查数据库内是否有9条并发记录。
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  随机读取若干条记录,测试过
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)Access语法:
SELECT top 10 * From 表名 ORDER BY Rnd(id)
经典收藏SQL语句合集(来自大家的智慧)Sql server:
select top n * from 表名 order by newid()
经典收藏SQL语句合集(来自大家的智慧)mysql 
select * From 表名 Order By rand() Limit n
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  Access左连接语法(最近开发要用左连接,Access帮助什么都没有,网上没有Access的SQL说明,只有自己测试, 现在记下以备后查)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  语法 
select table1.fd1,table1,fd2,table2.fd2 From table1 left join table2 on table1.fd1,table2.fd1 where 经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  使用SQL语句 用经典收藏SQL语句合集(来自大家的智慧)代替过长的字符串显示
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  语法:
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  SQL数据库:
select case when len(field)>10 then left(field,10)+'经典收藏SQL语句合集(来自大家的智慧)' else field end as news_name,news_id from tablename
经典收藏SQL语句合集(来自大家的智慧)  Access数据库:
SELECT iif(len(field)>2,left(field,2)+'经典收藏SQL语句合集(来自大家的智慧)',field) FROM tablename; 
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  Conn.Execute说明
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  Execute方法
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  该方法用于执行SQL语句。根据SQL语句执行后是否返回记录集,该方法的使用格式分为以下两种:
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  
1.执行SQL查询语句时,将返回查询得到的记录集。用法为:
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  
Set 对象变量名=连接对象.Execute("SQL 查询语言")
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  Execute方法调用后,会自动创建记录集对象,并将查询结果存储在该记录对象中,通过Set方法,将记录集赋给指定的对象保存,以后对象变量就代表了该记录集对象。
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  
2.执行SQL的操作性语言时,没有记录集的返回。此时用法为:
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  连接对象.
Execute "SQL 操作性语句" [, RecordAffected][, Option]
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  ·RecordAffected 为可选项,此出可放置一个变量,SQL语句执行后,所生效的记录数会自动保存到该变量中。通过访问该变量,就可知道SQL语句队多少条记录进行了操作。
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  ·
Option 可选项,该参数的取值通常为adCMDText,它用于告诉ADO,应该将Execute方法之后的第一个字符解释为命令文本。通过指定该参数,可使执行更高效。
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  ·BeginTrans、RollbackTrans、CommitTrans方法
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  这三个方法是连接对象提供的用于事务处理的方法。BeginTrans用于开始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的事务处理结果,即确认事务的处理。
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  事务处理可以将一组操作视为一个整体,只有全部语句都成功执行后,事务处理才算成功;若其中有一个语句执行失败,则整个处理就算失败,并恢复到处里前的状态。
经典收藏SQL语句合集(来自大家的智慧)
经典收藏SQL语句合集(来自大家的智慧)  BeginTrans和CommitTrans用于标记事务的开始和结束,在这两个之间的语句,就是作为事务处理的语句。判断事务处理是否成功,可通过连接对象的Error集合来实现,若Error集合的成员个数不为0,则说明有错误发生,事务处理失败。Error集合中的每一个Error对象,代表一个错误信息。

经典收藏SQL语句合集(来自大家的智慧)SELECT *UPPER(master.dbo.fn_varbintohexstr(TermAddress)) AS TermAddress_Hex
经典收藏SQL语句合集(来自大家的智慧)
FROM TerminalPrm
经典收藏SQL语句合集(来自大家的智慧)
WHERE (master.dbo.fn_varbintohexstr(TermAddress) LIKE '0%46%')

相关文章: