我向网友请教狼山鸡好养吗适应在东北放养吗?

发表于:2楼&得分:4
那就贴一个吧: DECLARE & @idoc & int DECLARE & @doc & varchar(1000) SET & @doc & = ' &ROOT& &Customer & CustomerID= "VINET " & ContactName= "Paul & Henriot "& & & & &Order & CustomerID= "VINET " & EmployeeID= "5 " & OrderDate= "T00:00:00 "& & & & & & & &OrderDetail & OrderID= "10248 " & ProductID= "11 " & Quantity= "12 "/& & & & & & & &OrderDetail & OrderID= "10248 " & ProductID= "42 " & Quantity= "10 "/& & & & &/Order& &/Customer& &Customer & CustomerID= "LILAS " & ContactName= "Carlos & Gonzlez "& & & & &Order & CustomerID= "LILAS " & EmployeeID= "3 " & OrderDate= "T00:00:00 "& & & & & & & &OrderDetail & OrderID= "10283 " & ProductID= "72 " & Quantity= "3 "/& & & & &/Order& &/Customer& &/ROOT& ' --Create & an & internal & representation & of & the & XML & document. EXEC & sp_xml_preparedocument & @idoc & OUTPUT, & @doc -- & Execute & a & SELECT & statement & that & uses & the & OPENXML & rowset & provider. SELECT & & & & * FROM & & & & & & & OPENXML & (@idoc, & '/ROOT/Customer ',1) & & & & & & & & & & & & WITH & (CustomerID & & varchar(10), & & & & & & & & & & & & & & & & & & ContactName & varchar(20)) EXEC & sp_xml_removedocument & @idoc
发表于:3楼&得分:0
查一下SqlServer的联机帮助,里面多的是
发表于:4楼&得分:0
晕,我知道联机帮助里多的是:没看题吗?要你们自己写过的.
发表于:5楼&得分:0
晕,我知道联机帮助里多的是:没看题吗?要你们自己写过的. ------------- 好“刺”!
发表于:6楼&得分:10
关于索引,推荐转载的这篇文章 http://blog.csdn.net/dutguoyi/archive//575617.aspx 改善SQL语句的效率 http://community.csdn.net/Expert/topic/.xml?temp=.345669 数据量很大怎样加快索检速度 http://community.csdn.net/Expert/topic/.xml?temp=.1229517 索引建立方法的区别 http://community.csdn.net/Expert/topic/.xml?temp=.3010218 频繁插入删除数据需要更新索引 http://community.csdn.net/Expert/topic/.xml?temp=.8428614 测试了一下sql & server & 2005 & 全文检索 http://community.csdn.net/Expert/topic/.xml?temp=.6049311 其他关于效率的高频问题 判断一个表的数据不在另一个表中最优秀方法? http://community.csdn.net/Expert/topic/.xml?temp=.4704553 删除千万级表中重复记录的办法 http://community.csdn.net/Expert/topic/.xml?temp=.7907068 数据库数据查询变得不正常类型问题 大数据量,稳定运行一段时候以后无法得到查询结果。 http://community.csdn.net/Expert/topic/.xml?temp=9.
发表于:7楼&得分:0
发表于:8楼&得分:4
返回表的字段名称 select & name & from & syscolumns & where & id=object_id( 'jobs ')
发表于:9楼&得分:4
select & * & into & b from & a & where & 1 && 1 & --刚看到的.新建一个与a表一样的空的b表
发表于:10楼&得分:1
准备收藏此贴~
发表于:11楼&得分:0
select & * & into & b from & a & where & 1 && 1 & --刚看到的.新建一个与a表一样的空的b表 精点,经典,
发表于:12楼&得分:10
一些不错的sql语句,自己根据需要收藏吧,分给多点哦:) 1、说明:复制表(只复制结构,源表名:a & 新表名:b) & (Access可用) 法一:select & * & into & b & from & a & where & 1 && 1 法二:select & top & 0 & * & into & b & from & a 2、说明:拷贝表(拷贝数据,源表名:a & 目标表名:b) & (Access可用) insert & into & b(a, & b, & c) & select & d,e,f & from & 3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) & (Access可用) insert & into & b(a, & b, & c) & select & d,e,f & from & b & in & ‘具体数据库’ & where & 条件 例子:..from & b & in & ' "&Server.MapPath( ". ")& "\data.mdb " & & " ' & where.. 4、说明:子查询(表名1:a & 表名2:b) 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) 5、说明:显示文章、提交人和最后回复时间 select & a.title,a.username,b.adddate & from & table & a,(select & max(adddate) & adddate & from & table & where & table.title=a.title) & b 6、说明:外连接查询(表名1:a & 表名2:b) select & a.a, & a.b, & a.c, & b.c, & b.d, & b.f & from & a & LEFT & OUT & JOIN & b & ON & a.a & = & b.c 7、说明:在线视图查询(表名1:a & ) select & * & from & (SELECT & a,b,c & FROM & a) & T & where & t.a & & & 1; 8、说明:between的用法,between限制查询数据范围时包括了边界值,not & between不包括 select & * & from & table1 & where & time & between & time1 & and & time2 select & a,b,c, & from & table1 & where & a & not & between & 数值1 & and & 数值2 9、说明:in & 的使用方法 select & * & from & table1 & where & a & [not] & in & (‘值1’,’值2’,’值4’,’值6’) 10、说明:两张关联表,删除主表中已经在副表中没有的信息 & delete & from & table1 & where & not & exists & ( & select & * & from & table2 & where & table1.field1=table2.field1 & ) 11、说明:四表联查问题: 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 & ..... 12、说明:日程安排提前五分钟提醒 & SQL: & select & * & from & 日程安排 & where & datediff( 'minute ',f开始时间,getdate())& 5 13、说明:一条sql & 语句搞定数据库分页 select & top & 10 & b.* & from & (select & top & 20 & 主键字段,排序字段 & from & 表名 & order & by & 排序字段 & desc) & a,表名 & b & where & b.主键字段 & = & a.主键字段 & order & by & a.排序字段 14、说明:前10条记录 select & top & 10 & * & form & table1 & where & 范围 15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select & a,b,c & from & tablename & ta & where & a=(select & max(a) & from & tablename & tb & where & tb.b=ta.b) 16、说明:包括所有在 & TableA & 中但不在 & TableB和TableC & 中的行并消除所有重复行而派生出一个结果表 (select & a & from & tableA & ) & except & (select & a & from & tableB) & except & (select & a & from & tableC) 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
发表于:13楼&得分:1
我来留个名,以后好直接查..
发表于:14楼&得分:1
发表于:15楼&得分:1
该帖整理后很有价值,收藏先
发表于:16楼&得分:1
留个脚印... 回头看看哈
发表于:17楼&得分:1
说句话 & 以后好来查~~~~~~
发表于:18楼&得分:1
恩恩 & 有道理 & 留个脚印先
发表于:19楼&得分:1
留个脚印,不懂什么叫经典。
发表于:20楼&得分:1
发表于:21楼&得分:1
发表于:22楼&得分:1
说实话,最经典的也是最常用的还是select。 然后是插入(insert)、更新(updata)和删除(delete)~~
发表于:23楼&得分:4
--如何将exec执行结果放入变量中? & declare & @num & int, & @sqls & nvarchar(4000) & set & @sqls= 'select & @a=count(*) & from & tableName & ' & exec & sp_executesql & @sqls,N '@a & int & output ',@num & output & select & @num & -------------------------------------------------------------------------------- 动态sql语句基本语法 & 1 & :普通SQL语句可以用Exec执行 & eg: & Select & * & from & tableName & Exec( 'select & * & from & tableName ') & Exec & sp_executesql & N 'select & * & from & tableName ' & -- & 请注意字符串前一定要加N & 2:字段名,表名,数据库名之类作为变量时,必须用动态SQL & eg: & declare & @fname & varchar(20) & set & @fname & = & 'FiledName ' & Select & @fname & from & tableName & -- & 错误,不会提示错误,但结果为固定值FiledName,并非所要。 & Exec( 'select & ' & + & @fname & + & ' & from & tableName ') & -- & 请注意 & 加号前后的 & 单引号的边上加空格 & 当然将字符串改成变量的形式也可 & declare & @fname & varchar(20) & set & @fname & = & 'FiledName ' & --设置字段名 & declare & @s & varchar(1000) & set & @s & = & 'select & ' & + & @fname & + & ' & from & tableName ' & Exec(@s) & -- & 成功 & exec & sp_executesql & @s & -- & 此句会报错 & declare & @s & Nvarchar(1000) & -- & 注意此处改为nvarchar(1000) & set & @s & = & 'select & ' & + & @fname & + & ' & from & tableName ' & Exec(@s) & -- & 成功 & exec & sp_executesql & @s & -- & 此句正确 & 3. & 输出参数 & declare & @num & int, & @sqls & nvarchar(4000) & set & @sqls= 'select & count(*) & from & tableName ' & exec(@sqls) & --如何将exec执行结果放入变量中? & declare & @num & int, & @sqls & nvarchar(4000) & set & @sqls= 'select & @a=count(*) & from & tableName & ' & exec & sp_executesql & @sqls,N '@a & int & output ',@num & output & select & @num &
发表于:24楼&得分:4
一些不错的sql语句 1、说明:复制表(只复制结构,源表名:a & 新表名:b) & (Access可用) 法一:select & * & into & b & from & a & where & 1 && 1 法二:select & top & 0 & * & into & b & from & a 2、说明:拷贝表(拷贝数据,源表名:a & 目标表名:b) & (Access可用) insert & into & b(a, & b, & c) & select & d,e,f & from & 3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) & (Access可用) insert & into & b(a, & b, & c) & select & d,e,f & from & b & in & ‘具体数据库’ & where & 条件 例子:..from & b & in & ' "&Server.MapPath( ". ")& "\data.mdb " & & " ' & where.. 4、说明:子查询(表名1:a & 表名2:b) 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) 5、说明:显示文章、提交人和最后回复时间 select & a.title,a.username,b.adddate & from & table & a,(select & max(adddate) & adddate & from & table & where & table.title=a.title) & b 6、说明:外连接查询(表名1:a & 表名2:b) select & a.a, & a.b, & a.c, & b.c, & b.d, & b.f & from & a & LEFT & OUT & JOIN & b & ON & a.a & = & b.c 7、说明:在线视图查询(表名1:a & ) select & * & from & (SELECT & a,b,c & FROM & a) & T & where & t.a & & & 1; 8、说明:between的用法,between限制查询数据范围时包括了边界值,not & between不包括 select & * & from & table1 & where & time & between & time1 & and & time2 select & a,b,c, & from & table1 & where & a & not & between & 数值1 & and & 数值2 9、说明:in & 的使用方法 select & * & from & table1 & where & a & [not] & in & (‘值1’,’值2’,’值4’,’值6’) 10、说明:两张关联表,删除主表中已经在副表中没有的信息 & delete & from & table1 & where & not & exists & ( & select & * & from & table2 & where & table1.field1=table2.field1 & ) 11、说明:四表联查问题: 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 & ..... 12、说明:日程安排提前五分钟提醒 & SQL: & select & * & from & 日程安排 & where & datediff( 'minute ',f开始时间,getdate())& 5 13、说明:一条sql & 语句搞定数据库分页 select & top & 10 & b.* & from & (select & top & 20 & 主键字段,排序字段 & from & 表名 & order & by & 排序字段 & desc) & a,表名 & b & where & b.主键字段 & = & a.主键字段 & order & by & a.排序字段 14、说明:前10条记录 select & top & 10 & * & form & table1 & where & 范围 15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select & a,b,c & from & tablename & ta & where & a=(select & max(a) & from & tablename & tb & where & tb.b=ta.b) 16、说明:包括所有在 & TableA & 中但不在 & TableB和TableC & 中的行并消除所有重复行而派生出一个结果表 (select & a & from & tableA & ) & except & (select & a & from & tableB) & except & (select & a & from & tableC) 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 ' &
发表于:25楼&得分:1
发表于:26楼&得分:4
delete & from & table1 & where & not & exists & ( & select & * & from & table2 & where & table1.field1=table2.field1 & )
发表于:27楼&得分:1
mark & 不做数据库,不够我知道以后要做的
发表于:28楼&得分:1
mark & 不做数据库,不够我知道以后要做的
发表于:29楼&得分:1
select & * & from & sysobjects & where & xtype= 'tr ' & --返回库中触发器 select & * & from & sysobjects & where & xtype= 'U ' & & --返回库中用户表
发表于:30楼&得分:1
发表于:31楼&得分:1
路过 & & & mark.........
发表于:32楼&得分:4
dinoLgrace(淡泊以明志,宁静而致远) 24、说明:选择从10到15的记录 select & top & 5 & * & from & (select & top & 15 & * & from & table & order & by & id & asc) & table_别名 & order & by & id & desc 好聪明的语句
发表于:33楼&得分:4
在CSDN上學到了一些 1.日期算當月天數: & & & select & Day(dateadd(day,-1,convert(datetime,convert(char(07),dateadd(m,1,getdate()),120)+ '-01 '))) & & & select & 32-Day(getdate()+(32-Day(getdate()))) 2.簡單的分割字串: & & & 用 ' & union & all & select & 'replace '分割符 ' 3.... & & &
发表于:34楼&得分:1
发表于:35楼&得分:4
Order & By可以指定列序而不用指定列名,在下面的例子里说明它的用处(注意,第三列未指定别名) Select & a.ID,a.Name,(Select & Count(*) & From & TableB & b & Where & a.ID=b.PID) & From & TableA & a & Order & By & 3
发表于:36楼&得分:1
结完贴来整理
发表于:37楼&得分:4
--修改用户数据库的排序规则 ater & database & dbname & collate & SQL_Latin1_General_CP1_CI_AS --修改字段的排序规则 alter & table & a & alter & column & c2 & varchar(50) & collate & SQL_Latin1_General_CP1_CI_AS --按姓氏笔画排序 select & * & from & 表名 & order & by & 列名 & Collate & Chinese_PRC_Stroke_ci_as & --按拼音首字母排序 select & * & from & 表名 & order & by & 列名 & Collate & Chinese_PRC_CS_AS_KS_WS --查找一个Server下含有某个表名的数据库名字 EXEC & sp_msforeachdb & ' USE & [?] IF & OBJECT_ID(N ' '表名 ' ') & IS & NOT & NULL PRINT & N ' '? ' ' ' --查询所有表名、字段名及字段描述 select & & & & & 表名=object_name(id), & & & & & 列名=col_name(object_id(object_name(id)),smallid), & & & & & 描述=value & from & & sysproperties & --查询所有表的记录数明细 --方法(1) select & & & & & & a.name,b.rows & & from & & & & & & sysobjects & a, & sysindexes & b where & & & & & & a.name=b.name & and & & a.type= 'u ' & --方法(2) sp_msforeachtable & 'select & ' '? ' ' & as & ' '表名 ' ',(select & sum(1) & from & ?) & as & ' '记录数 ' ' ' & --复制表(表结构) --方法(1) select & * & into & Employee_bak & from & Employee & where & 1 && 1 --方法(2) select & top & 0 & * & into & Employee_bak & from & Employee --方法(3) --企业管理器中的右键表--& 复制,然后在查询分析器中粘贴查看SQL语句 --判断两字符是否完全(区分大小写)相等(如何判断字符的大小写) declare & & @v & & nvarchar(10) & & declare & & @p & & nvarchar(10) & & set & & @v= 'NIPSAN ' & & if & & cast(@v & as & & varbinary)= & cast(@p & as & varbinary) & & & & & & print & N '相等 ' & & else & & & & & & & & print & N '不等 ' & & --得到数据库中所有表的空间/记录情况 exec & sp_MSForEachTable & @precommand=N ' create & table & ##( id & int & identity, 表名 & sysname, 字段数 & int, 记录数 & int, 保留空间 & Nvarchar(10), 使用空间 & varchar(10), 索引使用空间 & varchar(10), 未用空间 & varchar(10)) ', @command1=N 'insert & ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) & exec & sp_spaceused & ' '? ' ' update & ## & set & 字段数=(select & count(*) & from & syscolumns & where & id=object_id( ' '? ' ')) & where & id=scope_identity() ', & @postcommand=N 'select & * & from & ## & order & by & id & drop & table & ## ' --查看硬盘分区: EXEC & master..xp_fixeddrives --Order & By的一个小技巧 /* Order & By可以指定列序而不用指定列名,在下面的例子里说明它的用处(注意,第三列未指定别名) Select & a.ID,a.Name,(Select & Count(*) & From & TableB & b & Where & a.ID=b.PID) & From & TableA & a & Order & By & 3 */
发表于:38楼&得分:0
发表于:39楼&得分:1
发表于:40楼&得分:4
表结构新 SELECT & 表名=case & when & a.colorder=1 & then & d.name & else & ' ' & end, 表说明=case & when & a.colorder=1 & then & isnull(f.value, ' ') & else & ' ' & end, 字段序号=a.colorder, 字段名=a.name, 标识=case & when & COLUMNPROPERTY( & a.id,a.name, 'IsIdentity ')=1 & then & '√ 'else & ' ' & end, 主键=case & when & exists(SELECT & 1 & FROM & sysobjects & where & xtype= 'PK ' & and & parent_obj=a.id & and & name & in & ( SELECT & name & FROM & sysindexes & WHERE & indid & in( SELECT & indid & FROM & sysindexkeys & WHERE & id & = & a.id & AND & colid=a.colid ))) & then & '√ ' & else & ' ' & end, 类型=b.name, 占用字节数=a.length, 长度=COLUMNPROPERTY(a.id,a.name, 'PRECISION '), 小数位数=isnull(COLUMNPROPERTY(a.id,a.name, 'Scale '),0), 允许空=case & when & a.isnullable=1 & then & '√ 'else & ' ' & end, 默认值=isnull(e.text, ' '), 字段说明=isnull(g.[value], ' '), 索引名称=isnull(h.索引名称, ' '), 索引顺序=isnull(h.排序, ' ') FROM & syscolumns & a left & join & systypes & b & on & a.xtype=b.xusertype inner & join & sysobjects & d & on & a.id=d.id & & and & d.xtype= 'U ' & and & d.status& =0 left & join & syscomments & e & on & a.cdefault=e.id left & join & sysproperties & g & on & a.id=g.id & and & a.colid=g.smallid & & left & join & sysproperties & f & on & d.id=f.id & and & f.smallid=0 left & join(--这部分是索引信息,如果要显示索引与表及字段的对应关系,可以只要此部分 select & 索引名称=a.name,c.id,d.colid ,排序=case & indexkey_property(c.id,b.indid,b.keyno, 'isdescending ') when & 1 & then & '降序 ' & when & 0 & then & '升序 ' & end from & sysindexes & a join & sysindexkeys & b & on & a.id=b.id & and & a.indid=b.indid join & (--这里的作用是有多个索引时,取索引号最小的那个 select & id,colid,indid=min(indid) & from & sysindexkeys group & by & id,colid) & b1 & on & b.id=b1.id & and & b.colid=b1.colid & and & b.indid=b1.indid join & sysobjects & c & on & b.id=c.id & and & c.xtype= 'U ' & and & c.status& =0 join & syscolumns & d & on & b.id=d.id & and & b.colid=d.colid where & a.indid & not & in(0,255) ) & h & on & a.id=h.id & and & a.colid=h.colid --where & d.name= '要查询的表 ' & & & & --如果只查询指定表,加上此条件 order & by & a.id,a.colorder --索引信息 --索引信息 select & 索引名称=case & when & b.keyno=1 & then & a.name & else & ' ' & end ,表名=case & when & b.keyno=1 & then & c.name & else & ' ' & end ,列名=d.name ,排序=case & indexkey_property(c.id,b.indid,b.keyno, 'isdescending ') when & 1 & then & '降序 ' & when & 0 & then & '升序 ' & end ,聚集=INDEXPROPERTY(c.id,a.name, 'IsClustered ') ,唯一=case & INDEXPROPERTY(c.id,a.name, 'IsUnique ') when & 0 & then & '非唯一 ' when & 1 & then & case & when & e.id & is & null & then & '唯一索引 ' & else & '唯一约束 ' & end end ,e.name ,填充因子=a.OrigFillFactor from & sysindexes & a join & sysindexkeys & b & on & a.id=b.id & and & a.indid=b.indid -- join & (--这里的作用是有多个索引时,取索引号最小的那个 -- select & id,colid,indid=min(indid) & from & sysindexkeys -- group & by & id,colid) & b1 & on & b.id=b1.id & and & b.colid=b1.colid & and & b.indid=b1.indid join & sysobjects & c & on & b.id=c.id & and & c.xtype= 'U ' & and & c.status& =0 join & syscolumns & d & on & b.id=d.id & and & b.colid=d.colid left & join & sysobjects & e & on & b.indid=e.id & and & e.xtype= 'UQ ' where & a.indid & not & in(0,255) order & by & c.name,a.name
发表于:41楼&得分:1
这帖要顶一下,以前编写xml文档,常常就查询分析器来生成
发表于:42楼&得分:1
谢谢LZ,多了个联机帮助!
发表于:43楼&得分:1
发表于:44楼&得分:1
发表于:45楼&得分:1
发表于:46楼&得分:1
发表于:47楼&得分:1
找出表中某一列相同的数据行 select & *from & table & where & (column & in(select & column & from & table & group & ny & column & having & count(*)& 1)
发表于:48楼&得分:5
找出表中某一列相同的数据行 select & *from & table & where & (column & in(select & column & from & table & group & by & column & having & count(*)& 1) 刚才BY写错拉!
发表于:49楼&得分:1
希望楼主在结贴之前做个总结。。。。
发表于:50楼&得分:1
学习气氛很好吗!
发表于:51楼&得分:4
--1、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值, --显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。 select & emp_no & ,emp_name & ,dept & , & & & & & & & isnull(convert(char(10),birthday,120), '日期不详 ') & birthday from & employee order & by & dept --2、查找与喻自强在同一个单位的员工姓名、性别、部门和职称 select & emp_no,emp_name,dept,title from & employee where & emp_name && '喻自强 ' & and & dept & in & & & (select & dept & from & employee & & & & where & emp_name= '喻自强 ') --3、按部门进行汇总,统计每个部门的总工资 select & dept,sum(salary) from & employee group & by & dept --4、查找商品名称为14寸显示器商品的销售情况, --显示该商品的编号、销售数量、单价和金额 select & a.prod_id,qty,unit_price,unit_price*qty & totprice from & sale_item & a,product & b where & a.prod_id=b.prod_id & and & prod_name= '14寸显示器 ' --5、在销售明细表中按产品编号进行汇总,统计每种产品的销售数量和金额 select & prod_id,sum(qty) & totqty,sum(qty*unit_price) & totprice from & sale_item group & by & prod_id --6、使用convert函数按客户编号统计每个客户1996年的订单总金额 select & cust_id,sum(tot_amt) & totprice from & sales where & convert(char(4),order_date,120)= '1996 ' group & by & cust_id --7、查找有销售记录的客户编号、名称和订单总额 select & a.cust_id,cust_name,sum(tot_amt) & totprice from & customer & a,sales & b where & a.cust_id=b.cust_id group & by & a.cust_id,cust_name --8、查找在1997年中有销售记录的客户编号、名称和订单总额 select & a.cust_id,cust_name,sum(tot_amt) & totprice from & customer & a,sales & b where & a.cust_id=b.cust_id & and & convert(char(4),order_date,120)= '1997 ' group & by & a.cust_id,cust_name --9、查找一次销售最大的销售记录 select & order_no,cust_id,sale_id,tot_amt from & sales where & tot_amt= & & & (select & max(tot_amt) & & & & from & sales) --10、查找至少有3次销售的业务员名单和销售日期 select & emp_name,order_date from & employee & a,sales & b & where & emp_no=sale_id & and & a.emp_no & in & & (select & sale_id & & & from & sales & & & group & by & sale_id & & & having & count(*)& =3) order & by & emp_name --11、用存在量词查找没有订货记录的客户名称 select & cust_name from & customer & a where & not & exists & & & (select & * & & & & from & sales & b & & & & where & a.cust_id=b.cust_id) --12、使用左外连接查找每个客户的客户编号、名称、订货日期、订单金额 --订货日期不要显示时间,日期格式为yyyy-mm-dd --按客户编号排序,同一客户再按订单降序排序输出 select & a.cust_id,cust_name,convert(char(10),order_date,120),tot_amt from & customer & a & left & outer & join & sales & b & on & a.cust_id=b.cust_id order & by & a.cust_id,tot_amt & desc --13、查找16M & DRAM的销售情况,要求显示相应的销售员的姓名、 --性别,销售日期、销售数量和金额,其中性别用男、女表示 select & emp_name & 姓名, & 性别= & case & a.sex & & when & 'm ' & then & '男 ' & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & when & 'f ' & then & '女 ' & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & else & '未 ' & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & end, & & & & & & & & 销售日期= & isnull(convert(char(10),c.order_date,120), '日期不详 '), & & & & & & & & qty & 数量, & qty*unit_price & as & 金额 from & employee & a, & sales & b, & sale_item & c,product & d where & d.prod_name= '16M & DRAM ' & and & d.pro_id=c.prod_id & and & & & & & & a.emp_no=b.sale_id & and & b.order_no=c.order_no --14、查找每个人的销售记录,要求显示销售员的编号、姓名、性别、 --产品名称、数量、单价、金额和销售日期 select & emp_no & 编号,emp_name & 姓名, & 性别= & case & a.sex & when & 'm ' & then & '男 ' & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & when & 'f ' & then & '女 ' & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & else & '未 ' & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & end, & & & & & & prod_name & 产品名称,销售日期= & isnull(convert(char(10),c.order_date,120), '日期不详 '), & & & & & & qty & 数量, & qty*unit_price & as & 金额 from & employee & a & left & outer & join & sales & b & on & a.emp_no=b.sale_id & , & sale_item & c,product & d where & d.pro_id=c.prod_id & and & b.order_no=c.order_no --15、查找销售金额最大的客户名称和总货款 select & cust_name,d.cust_sum from & & & customer & a, & & & & & & & (select & cust_id,cust_sum & & & & & & & & from & (select & cust_id, & sum(tot_amt) & as & cust_sum & & & & & & & & & & & & & & from & sales & & & & & & & & & & & & & & group & by & cust_id & ) & b & & & & & & & & where & b.cust_sum & = & & & & & & & & & & & & & & & & ( & select & max(cust_sum) & & & & & & & & & & & & & & & & & from & (select & cust_id, & sum(tot_amt) & as & cust_sum & & & & & & & & & & & & & & & & & & & & & & & from & sales & & & & & & & & & & & & & & & & & & & & & & & group & by & cust_id & ) & c & ) & & & & & & & & ) & d where & a.cust_id=d.cust_id & --16、查找销售总额少于1000元的销售员编号、姓名和销售额 select & emp_no,emp_name,d.sale_sum from & & & employee & a, & & & & & & & (select & sale_id,sale_sum & & & & & & & & from & (select & sale_id, & sum(tot_amt) & as & sale_sum & & & & & & & & & & & & & & from & sales & & & & & & & & & & & & & & group & by & sale_id & ) & b & & & & & & & & where & b.sale_sum & &1000 & & & & & & & & & & & & & & & & & & & & & & & ) & d where & a.emp_no=d.sale_id & --17、查找至少销售了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额 select & a.cust_id,cust_name,b.prod_id,prod_name,d.qty,d.qty*d.unit_price from & customer & a, & product & b, & sales & c, & sale_item & d where & a.cust_id=c.cust_id & and & d.prod_id=b.prod_id & and & & & & & & & c.order_no=d.order_no & and & a.cust_id & in & ( & & & & & & select & cust_id & & & & & & from & & (select & cust_id,count(distinct & prod_id) & prodid & & & & & & & & & & & & & from & (select & cust_id,prod_id & & & & & & & & & & & & & & & & & & & from & sales & e,sale_item & f & & & & & & & & & & & & & & & & & & & where & e.order_no=f.order_no) & g & & & & & & & & & & & & & group & by & cust_id & & & & & & & & & & & & & having & count(distinct & prod_id)& =3) & h & ) --18、查找至少与世界技术开发公司销售相同的客户编号、名称和商品编号、商品名称、数量和金额 select & a.cust_id,cust_name,d.prod_id,prod_name,qty,qty*unit_price from & customer & a, & product & b, & sales & c, & sale_item & d where & a.cust_id=c.cust_id & and & d.prod_id=b.prod_id & and & & & & & & & c.order_no=d.order_no & & and & not & exists & & (select & f.* & & & from & customer & x & ,sales & e, & sale_item & f & & & where & cust_name= '世界技术开发公司 ' & and & x.cust_id=e.cust_id & and & & & & & & & & & e.order_no=f.order_no & and & not & exists & & & & & & & & & & & ( & select & g.* & & & & & & & & & & & & & from & sale_item & g, & sales & & h & & & & & & & & & & & & & where & g.prod_id & = & f.prod_id & and & g.order_no=h.order_no & and & & & & & & & & & & & & & & & & & & & h.cust_id=a.cust_id) & & & & ) & & & 19、查找表中所有姓刘的职工的工号,部门,薪水 select & emp_no,emp_name,dept,salary from & employee where & emp_name & like & '刘% ' 20、查找所有定单金额高于20000的所有客户编号 select & cust_id from & sales where & tot_amt& 20000 21、统计表中员工的薪水在之间的人数 select & count(*)as & 人数 from & employee where & salary & between & 40000 & and & 60000 22、查询表中的同一部门的职工的平均工资,但只查询"住址"是"上海市"的员工 select & avg(salary) & avg_sal,dept & from & employee & where & addr & like & '上海市% ' group & by & dept 23、将表中住址为 "上海市 "的员工住址改为 "北京市 " update & employee & & set & addr & like & '北京市 ' where & addr & like & '上海市 ' 24、查找业务部或会计部的女员工的基本信息。 select & emp_no,emp_name,dept from & employee & where & sex= 'F 'and & dept & in & ( '业务 ', '会计 ') 25、显示每种产品的销售金额总和,并依销售金额由大到小输出。 select & prod_id & ,sum(qty*unit_price) from & sale_item & group & by & prod_id order & by & sum(qty*unit_price) & desc
发表于:52楼&得分:4
26、选取编号界于&#’和&#’的客户编号、客户名称、客户地址。 select & CUST_ID,cust_name,addr from & customer & where & cust_id & between & 'C0001 ' & AND & 'C0004 ' 27、计算出一共销售了几种产品。 select & count(distinct & prod_id) & as & '共销售产品数 ' from & sale_item & 28、将业务部员工的薪水上调3%。 update & employee set & salary=salary*1.03 where & dept= '业务 ' & & & & 29、由employee表中查找出薪水最低的员工信息。 select & * from & employee where & salary= & & & & & & & (select & min(salary & ) & & & & & & & & from & employee & ) 30、使用join查询客户姓名为 "客户丙 "所购货物的 "客户名称 ", "定单金额 ", "定货日期 ", "电话号码 " select & a.cust_id,b.tot_amt,b.order_date,a.tel_no from & customer & a & join & sales & b on & a.cust_id=b.cust_id & and & cust_name & like & '客户丙 ' 31、由sales表中查找出订单金额大于&#业务员在这天所接每一张订单的金额”的所有订单。 select & * from & sales where & tot_amt& all & & & & & & & (select & tot_amt & & & & & & & & & from & sales & & & & & & & & & where & sale_id= 'E0013 'and & order_date= ' ') order & by & tot_amt 32、计算 'P0001 '产品的平均销售单价 select & avg(unit_price) from & sale_item where & prod_id= 'P0001 ' 33、找出公司女员工所接的定单 select & sale_id,tot_amt from & sales where & sale_id & in & (select & sale_id & from & employee where & sex= 'F ') 34、找出同一天进入公司服务的员工 select & a.emp_no,a.emp_name,a.date_hired from & employee & a join & employee & b on & (a.emp_no!=b.emp_no & and & a.date_hired=b.date_hired) order & by & a.date_hired 35、找出目前业绩超过232000元的员工编号和姓名。 select & emp_no,emp_name from & employee & where & emp_no & in (select & sale_id from & sales & group & by & sale_id having & sum(tot_amt) &232000) 36、查询出employee表中所有女职工的平均工资和住址在"上海市"的所有女职工的平均工资 select & avg(salary) from & employee where & sex & like & 'f ' union select & avg(salary) from & employee where & sex & like & 'f ' & and & addr & like & '上海市% ' 37、在employee表中查询薪水超过员工平均薪水的员工信息。 Select & * & from & employee & where & salary& (select & avg(salary) & & from & employee) 38、找出目前销售业绩超过40000元的业务员编号及销售业绩,并按销售业绩从大到小排序。 & & & Select & sale_id & ,sum(tot_amt) from & sales & group & by & sale_id & having & sum(tot_amt)& 40000 order & by & sum(tot_amt) & desc 39、找出公司男业务员所接且订单金额超过2000元的订单号及订单金额。 & & & & Select & order_no,tot_amt From & sales & ,employee Where & sale_id=emp_no & and & sex= 'M ' & and & tot_amt& 2000 40、查询sales表中订单金额最高的订单号及订单金额。 Select & order_no,tot_amt & from & sales & where & tot_amt=(select & max(tot_amt) & & from & sales) 41、查询在每张订单中订购金额超过24000元的客户名及其地址。 Select & cust_name,addr & from & customer & a,sales & b & where & a.cust_id=b.cust_id & and & tot_amt& 24000 42、求出每位客户的总订购金额,显示出客户号及总订购金额,并按总订购金额降序排列。 & & & Select & cust_id,sum(tot_amt) & from & sales Group & by & cust_id & Order & by & sum(tot_amt) & desc 43、求每位客户订购的每种产品的总数量及平均单价,并按客户号,产品号从小到大排列。 & & & & Select & cust_id,prod_id,sum(qty),sum(qty*unit_price)/sum(qty) From & sales & a, & sale_item & b Where & a.order_no=b.order_no Group & by & cust_id,prod_id Order & by & cust_id,prod_id 44、查询订购了三种以上产品的订单号。 & & & & Select & order_no & from & sale_item Group & by & order_no Having & count(*)& 3 45、查询订购的产品至少包含了订单10003中所订购产品的订单。 & & & Select & & distinct & order_no From & sale_item & a Where & & order_no && '10003 'and & & not & exists & ( & Select & * & & from & sale_item & b & where & order_no & = '10003 ' & & and & not & exists & (select & * & & from & sale_item & c & where & c.order_no=a.order_no & & and & & c.prod_id=b.prod_id)) 46、在sales表中查找出订单金额大于&#业务员在这天所接每一张订单的金额”的所有订单,并显示承接这些订单的业务员和该订单的金额。 & & & Select & sale_id,tot_amt & from & sales & & & where & tot_amt& all(select & tot_amt & from & sales & where & sale_id= 'E0013 ' & and & order_date= ' ') & & 47、查询末承接业务的员工的信息。 & & & & Select & * From & employee & a Where & not & exists & (select & * & from & & sales & b & where & & a.emp_no=b.sale_id) 48、查询来自上海市的客户的姓名,电话、订单号及订单金额。 & & & & Select & cust_name,tel_no,order_no,tot_amt From & customer & a & ,sales & b Where & a.cust_id=b.cust_id & and & addr= '上海市 ' 49、查询每位业务员各个月的业绩,并按业务员编号、月份降序排序。 & & & Select & sale_id,month(order_date), & sum(tot_amt) & from & sales & group & by & sale_id,month(order_date) order & by & sale_id,month(order_date) & desc 50、求每种产品的总销售数量及总销售金额,要求显示出产品编号、产品名称,总数量及总金额,并按产品号从小到大排列。 & & & Select & a.prod_id,prod_name,sum(qty),sum(qty*unit_price) From & sale_item & a,product & b Where & a.prod_id=b.prod_id & Group & by & a.prod_id,prod_name Order & by & a.prod_id 51、查询总订购金额超过&#’客户的总订购金额的客户号,客户名及其住址。 & & & Select & cust_id, & cust_name,addr From & customer Where & cust_id & & in & (select & cust_id & from & sales & Group & by & cust_id Having & sum(tot_amt)& (Select & sum(tot_amt) & from & sales & & where & cust_id= 'C0002 ')) 52、查询业绩最好的的业务员号、业务员名及其总销售金额。 & & & & select & emp_no,emp_name,sum(tot_amt) from & employee & a,sales & b where & a.emp_no=b.sale_id group & by & emp_no,emp_name having & sum(tot_amt)= & & & & & & & & & (select & max(totamt) & & & & & & & & & & from & (select & sale_id,sum(tot_amt) & totamt & & & & & & & & & & & & & & & from & sales & & & & & & & & & & & & & & & group & by & sale_id) & c) 53、查询每位客户所订购的每种产品的详细清单,要求显示出客户号,客户名,产品号,产品名,数量及单价。 & & & select & a.cust_id, & cust_name,c.prod_id,prod_name,qty, & unit_price from & customer & a,sales & b, & sale_item & c & ,product & d where & a.cust_id=b.cust_id & & and & b.order_no=c.order_no & and & c.prod_id=d.prod_id 54、求各部门的平均薪水,要求按平均薪水从小到大排序。 & & & select & dept,avg(salary) & from & employee & group & by & dept & order & by & avg(salary)
发表于:53楼&得分:0
发表于:54楼&得分:1
希望楼主在结贴之前做个总结。。。。
发表于:55楼&得分:1
发表于:56楼&得分:4
将小写金额转换为中文大写 & & CREATE & & & FUNCTION & & & [dbo].[f_num_chn] & & & (@num & & & numeric(14,2)) & & & & & RETURNS & & & varchar(100) & & & WITH & & & ENCRYPTION & & & & & AS & & & & & BEGIN & & & & & --版权所有:csli888 & & & & & & & & & DECLARE & & & @n_data & & & VARCHAR(20),@c_data & & & VARCHAR(100),@n_str & & & VARCHAR(10),@i & & & int & & & & & & & & & & & & & SET & & & @n_data=RIGHT(SPACE(14)+CAST(CAST(ABS(@num*100) & & & AS & & & bigint) & & & AS & & & varchar(20)),14) & & & & & & & & & SET & & & @c_data= ' ' & & & & & & & & & SET & & & @i=1 & & & & & & & & & WHILE & & & @i &=14 & & & & & & & & & BEGIN & & & & & & & & & & & & & SET & & & @n_str=SUBSTRING(@n_data,@i,1) & & & & & & & & & & & & & IF & & & @n_str && ' & & & ' & & & & & & & & & & & & & BEGIN & & & & & & & & & & & & & & & & & IF & & & not & & & ((SUBSTRING(@n_data,@i,2)= '00 ') & & & or & & & & & & & & & & & & & & & & & & & & & ((@n_str= '0 ') & & & and & & & ((@i=4) & & & or & & & (@i=8) & & & or & & & (@i=12) & & & or & & & (@i=14)))) & & & & & & & & & & & & & & & & & & & & & SET & & & @c_data=@c_data+SUBSTRING( '零壹贰叁肆伍陆柒捌玖 ',CAST(@n_str & & & AS & & & int)+1,1) & & & & & & & & & & & & & & & & & IF & & & not & & & ((@n_str= '0 ') & & & and & & & (@i && 4) & & & and & & & (@i && 8) & & & and & & & (@i && 12)) & & & & & & & & & & & & & & & & & & & & & SET & & & @c_data=@c_data+SUBSTRING( '仟佰拾亿仟佰拾万仟佰拾圆角分 ',@i,1) & & & & & & & & & & & & & & & & & IF & & & SUBSTRING(@c_data,LEN(@c_data)-1,2)= '亿万 ' & & & & & & & & & & & & & & & & & & & & & SET & & & @c_data=SUBSTRING(@c_data,1,LEN(@c_data)-1) & & & & & & & & & & & & & END & & & & & & & & & & & & & SET & & & @i=@i+1 & & & & & & & & & END & & & & & & & & & IF & & & @num &0 & & & & & & & & & & & & & SET & & & @c_data= '(负数) '+@c_data & & & & & & & & & IF & & & @num=0 & & & & & & & & & & & & & SET & & & @c_data= '零圆 ' & & & & & & & & & IF & & & @n_str= '0 ' & & & & & & & & & & & & & SET & & & @c_data=@c_data+ '整 ' & & & & & & & & & RETURN(@c_data) & & & & & END & & &
发表于:57楼&得分:0
这里人气好旺啊,请教高手们一个小问题(对我来说是只虎):在XP下如何进入Debuge模式?
发表于:58楼&得分:0
csli888() & ( & ) & 是个好函数.
发表于:59楼&得分:0
发表于:60楼&得分:0
气氛不错,MARK一下
发表于:61楼&得分:0
发表于:62楼&得分:0
认真看了一边。
发表于:63楼&得分:0
发表于:64楼&得分:0
发表于:65楼&得分:0
& & & 一拖32终端机,为老板节省资金投放成本,网络管理员的福音,你只要管理好一台服务器电脑就可以了,省钱、省心、安全、环保,免升级、简化IT管理、节省80%IT费用!!! & & & & 1台电脑主机2-30个用户同时独立办公,节省80%IT费用,节省98%电力资源, & & 1台电脑主机让30个用户同时独立网上冲浪、网络游戏、即时通信、电子邮件等应用。 详细请进网站了解: & & &
& 联系电话: &
& & 联系QQ: &
您或您朋友的企业、单位是不是遇到过如下问题: & & & 大多数企业购置电脑,仅仅是为了其中的一项或几项应用,造成巨大的资源浪费 & & & 需要不断地升级服务器端和客户端的操作系统和应用软件 & & & 客户端的硬件设备也要跟着不断升级 & & & 居高不下的维护费已经成为客户非常沉重的负担 & & & 高额电力费用支出 & & &
发表于:66楼&得分:0
发表于:67楼&得分:0
发表于:68楼&得分:1
先mark & 后看
发表于:69楼&得分:1
发表于:70楼&得分:1
留个记号 & 要用的时候好找 & 。以前在一个专写医院管理软件的公司还有机会接触到各种sql语句。现在做web程序基本上都是用最简单sql语句了。
发表于:71楼&得分:1
发表于:72楼&得分:0
标记一下,学习
发表于:73楼&得分:1
┌─◎─◎─◎─◎─◎─◎─◎─┐ │╔╦╗╔╦╗╔╦╗╔╦╗╔╦╗│ ☆╠有╣╠分╣╠就╣╠得╣╠顶╣☆ │╚╩╝╚╩╝╚╩╝╚╩╝╚╩╝│ ★─⊙─⊙─⊙─⊙─⊙─⊙─⊙─★ │╔╦╗╔╦╗╔╦╗╔╦╗╔╦╗│ ☆╠一╣╠分╣╠不╣╠错╣╠过╣☆ │╚╩╝╚╩╝╚╩╝╚╩╝╚╩╝│ └─◎─◎─◎─◎─◎─◎─◎─┘
发表于:74楼&得分:0
发表于:75楼&得分:0
发表于:76楼&得分:4
select & @result & = & count( & * & ) & from & user & where & username & = & @username & and & password & = & @password & & & & & & & & & & & & & if & @result & = & 0 & & & & & & & & & & & & & return & 0 & & & & & & & & & & & & & else & & & & & & & & & & & & & & return & 1
发表于:77楼&得分:0
发表于:78楼&得分:0
发表于:79楼&得分:0
发表于:80楼&得分:0
好好学习,天天向上
发表于:81楼&得分:0
发表于:82楼&得分:0
发表于:83楼&得分:0
顶了!!!! 以后常看看
发表于:84楼&得分:0
发表于:85楼&得分:0
┌─◎─◎─◎─◎─◎─◎─◎─┐ │╔╦╗╔╦╗╔╦╗╔╦╗╔╦╗│ ☆╠有╣╠分╣╠就╣╠得╣╠顶╣☆ │╚╩╝╚╩╝╚╩╝╚╩╝╚╩╝│ ★─⊙─⊙─⊙─⊙─⊙─⊙─⊙─★ │╔╦╗╔╦╗╔╦╗╔╦╗╔╦╗│ ☆╠一╣╠分╣╠不╣╠错╣╠过╣☆ │╚╩╝╚╩╝╚╩╝╚╩╝╚╩╝│ └─◎─◎─◎─◎─◎─◎─◎─┘
发表于:86楼&得分:0
真是精华啊!! 这样帖子对我这样的菜鸟来说太宝贵了!
发表于:87楼&得分:4
不错,我写个行转列的 统计每周的数据量 CREATE & PROCEDURE & AccAllWeek & AS set & nocount & on declare & @str & nvarchar(3000) set & @str=N 'SELECT & count(CASE & dateName(dw,AddDate) & WHEN & & ' '星期一 ' ' & THEN & ' '星期一 ' ' & END) & AS & a01, ' set & @str=@str+N 'count(CASE & dateName(dw,AddDate) & WHEN & ' '星期二 ' ' & THEN & ' '星期二 ' ' & END) & AS & a02, ' set & @str=@str+N 'count(CASE & dateName(dw,AddDate) & WHEN & ' '星期三 ' ' & THEN & ' '星期三 ' ' & END) & AS & a03, ' set & @str=@str+N 'count(CASE & dateName(dw,AddDate) & WHEN & ' '星期四 ' ' & THEN & ' '星期四 ' ' & END) & AS & a04, ' set & @str=@str+N 'count(CASE & dateName(dw,AddDate) & WHEN & ' '星期五 ' ' & THEN & ' '星期五 ' ' & END) & AS & a05, ' set & @str=@str+N 'count(CASE & dateName(dw,AddDate) & WHEN & ' '星期六 ' ' & THEN & ' '星期六 ' ' & END) & AS & a06, ' set & @str=@str+N 'count(CASE & dateName(dw,AddDate) & WHEN & ' '星期日 ' ' & THEN & ' '星期日 ' ' & END) & AS & a07 ' set & @str=@str+N ' & & from & YouTable ' EXEC(@str) 按星期格式返回7天中每天的数据比例
发表于:88楼&得分:4
我也来写一个: insert & into & staff(name_chn) exec( 'select & ' '中国 ' ' ')
发表于:89楼&得分:0
发表于:90楼&得分:4
select & @result & = & count( & * & ) & from & user & where & username & = & @username & and & password & = & @password & & & & & & & & & & & & & if & @result & = & 0 & & & & & & & & & & & & & return & 0 & & & & & & & & & & & & & else & & & & & & & & & & & & & & return & 1 =============== 改成: if & exists(select & 1 & & from & user & where & username & = & @username & and & password & = & @password) & & & & & & & & & & & & & return & 0 else & & & & & & & & & & & & & & return & 1
发表于:91楼&得分:0
发表于:92楼&得分:0
恩:大家进来的都把写过的贴贴吧.完了后,总结一下. 给大家贴出去!
发表于:93楼&得分:0
发表于:94楼&得分:4
自己写的《SQL数据库资料整理》(2006年整理的) 文章太长,只要引过来: /viewthread.php?action=printable&tid=127814
发表于:95楼&得分:0
发表于:96楼&得分:0
发表于:97楼&得分:0
(^) / & & & \ & ¦ & ¦
发表于:98楼&得分:0
(^) / & & & \ & ¦ & ¦
发表于:99楼&得分:0
发表于:100楼&得分:0
发表于:101楼&得分:0
收藏,谢谢楼主!
发表于:102楼&得分:0
好贴子,学习了。看来以后还要常来。
发表于:103楼&得分:0
发表于:104楼&得分:0
发表于:105楼&得分:0
select & getdate()
发表于:106楼&得分:0
发表于:107楼&得分:0
好好学习,天天向上
发表于:108楼&得分:4
select & 分 from & 楼主 where & 分 & & & 0
发表于:109楼&得分:0
发表于:110楼&得分:0
做个标记,以后直接查,谢谢各位达人分享自己的SQL经验!
发表于:111楼&得分:4
updata & set & 分=分+100 from & 楼主 where & 分 & & & 0
发表于:112楼&得分:0
发表于:113楼&得分:0
发表于:114楼&得分:0
发表于:115楼&得分:0
发表于:116楼&得分:0
脚印留个先
发表于:117楼&得分:4
n久前整理过的一些最基本的,随意看看. 1.Insert & (添加数据) & & .Inert & Into & tb1(field1,field2) & Values(11, 'aa ') & & .Inert & tb1 & Values(11, "aa ") & & .Inert & tb1(field1,field2) & Select & field3, 's '+field4 & From & tb2 & Where & field3 &22 & & .Inert & tb1 & Select & * & From & tb2 & Where & field3 &22 2.Update & (修改数据) & & .Update & tb1 & Set & field1=field1+1,field2= 'zz ' & Where & field1 &1 & & .Update & tb1 & Set & field1=field1+1,field2= 'zz ' & From & (Select & * & From & tb2 & Where & field3& 1) & As & a & Where & a.field3=table1.field2 & & .Update & tb1 & Set & field1=field1+1,field2= 'zz ' & From & table2 & As & a,table1 & as & b & Where & a.field4=table1.field2 3.Delete & (删除数据) & & .Delete & table1 & Where & field2 & Like & 'a% ' & & .Delete & table1 & From & (Select & * & From & table2 & Where & field3 &1) & As & a & Where & a.field4=table1.field2 & & .Delete & table1 & As & a,table2 & As & b & Where & a.field2=b.field4 & And & b.field3 &1 4.Creat & (在本机上新建msde数据库.如需安装在始动路径,改绝对路径为Application.StartupPath) & & & .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) 5.Drop & (删除表) & & .Drop & table1 & & & .if & object_id( 'table1 ') & is & not & null & DROP & TABLE & table1 & (删除之前可先判断一下.) & & .Drop & table1 & Truncate & Table & table2 & (如table1 & 参照 & table2,需要先删除 & table1) & & 6.If,Else,Begin & & If & Exists(Select & field2 & From & table1 & Where & field2= 'aa ') & & & & & Begin Delect & table1 & Where & field2= 'aa ' & & & & & & & & Print & 'aa & is & deleted. ' & & & & & End & & Else & & & & & & & & Print & 'aa & is & not & found. ' 7.Declare,GOTO & & Declare & @s & int,@time & int & & Select & @s=1,@time=1 & & label1: & & Select & @s=@s*@time & & Select & @time=@time+1 & & If & @time &=10 GOTO & label1 & & Print & '10 & n= '+str(@s) 8.While,Break,Continue & & While & Boolean & & & //Boolean: & 1=1 {SQL} & Break {SQL} Continue {SQL} 9.WaitFor & & Begin WaitFor & Time & '10:00:00 ' & & //(系统时间) Select & * & From & Table1 & & End & & Begin WaitFor & Delay & '1:00:00 ' & & //(1小时后) Select & * & From & Table1 & & End 10.Return & & & Create & Procedure & check_contact & @para & varchare(40) AS If & (Select & contract & From & authors & Where & au_lname=@para)=1 Return & 1 Else Return & 2 11.Case & & & Select & Name=Convert(varchar(15),au_lname), Contract=Case & contract When & 0 & Then & '0 ' When & 1 & Then & '1 ' Else & '2 ' End & & & From & authors & & & Select & Name=Convert(varchar(15),au_lname), Contract=Case When & contract=0 & Then & '0 ' When & contract && 0 & Then & '1 ' End & & & From & authors 12.DataLength & //返回表达式中数据的实际长度(如为字段名,则返回字段中数据的长度,非字段定义长度.) & & & Select & Name=field1,DataLength=DataLength(field1) & From & table1 13.Current_TimeStamp & //返回系统的当前日期和时间 & & & Use & pubs & & & GO & & & Creat & Table & books & & & { book_id & char(3) & Not & NULL, pub_date & datetime & Not & NULL & Default & Current_TimeStamp, price & money & & & } & & & GO & & & Insert & books(book_id,price) Values( 'A01 ',$55.0) 14.FormatMessage //格式化指定错误号的错误信息 & & & Declare & @Err123 & nvarchar(64) & & & Set & @Err123=FormatMessage(123,50) & & & Print & @Err123 15.GetAnsiNULL //返回数据库的默认空值设置 & & & Select & GetAnsiNULL( 'pubs ') //return & 1:notN & & return & 0: & NULL 16.IsNULL & //替换空值项(注意替换项和替换内容的类型需一致) & & & Select & title=field2,num=IsNULL(field1,0) & From & table1 & & & Select & title=field2,num=IsNULL(str(field1), 'Nothing ') & From & table1 17.Coalescs //返回参数中的第一个非空(NULL)表达式 & & & Select & title=field2,numMark=Coalescs(field1,field2, 'Nothing ') & From & table1 ////The & Result: & If & field1 & is & null & And & field2 & is & not & null & Then & return & field2 's & value. & & & & & & & If & field1 & is & null & And & field2 & is & null & Then & return & 'Nothing '. 18.Permissions //返回用户的语句和对象权限. & & & Declare & @state_p & int,@object_p & int & & & Set & @state_p=Permissions() If & (@sate_p & & & 2)=2 Print & '你可以在当前数据库中创建表 ' If & (@sate_p & & & 4)=4 Print & '你可以在当前数据库中创建存储过程 ' If & (@sate_p & & & 8)=8 Print & '你可以在当前数据库中创建视图 ' Set & @object_p=Permissions(Object_id( 'pubs..jobs ')) If & (@object_p & & & 1)=1 Print & '你可以检索jobs表中的数据 ' If & (@object_p & & & 2)=2 Print & '你可以修改jobs表中的数据 ' If & (@object_p & & & 8)=8 Print & '你可以向jobs表中添加数据 ' If & (@object_p & & & 16)=16 Print & '你可以删除jobs表中的数据 ' 19.Convert //转换函数(从一种系统数据类型转换为另外一种) & & & Select & thetime1=Convert(char,Current_TimeStamp,120),thetime2=Convert(char,Current_TimeStamp,108) //////The & Result: & thetime1: & 15:50:00; & thetime2:03:50:00 & & & Select & s0=Convert(char,$76,0),s1=Convert(char,$76,1),s2=Convert(char,$76,2) //////The & Result: & s0:; & s1:123,456,789.99; & s2:76 & & & Select & n0=Convert(char,76,0),n1=Convert(char,$76,1),n2=Convert(char,$76,2) //////The & Result: & n0:123457; & n1:1.5; & n2:1.000e+005 20.Cast //转换函数(转换格式控制没有Convert函数灵活) & & & Select & title_id,theDate=Cast(pubdate & As & Char(11)) & From & titles & Where & title_id & Like & 'b% ' //////The & Result: & title_id: & BU1032; & theDate: & Jun & 12 & 1991 **************************** 一些日期元素的取值范围:yy(),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) **************************** 21.DateAdd //返回指定时间间隔后的日期. & & & Select & NowDate=GetDate(),LateDate=DateAdd(dy,60,GetDate()) 22.DateDiff & & & & & & & //返回时间间隔. & & & Select & TheDate=pubdate,NowDate=GetDate(),NY=DateDiff(yy,pubdate,GetDate()),NM=DateDiff(mm,pubdate,GetDate()) & From & titles & Where & type= 'business ' 23.DateName,DatePart //返回日期中指定部分对应的字符串,整数值 & & & Select & YN=DateName(yy,GetDate()) & & & The & Result: '2006 ' & & & Select & YI=DatePart(yy,GetDate()) & & & The & Result:2006 24.Char,Ascii & & & Print & 'A==& ASCII & value & is: '+Char(13)+Str(Ascii( 'A '),2,0) //Enter & key 's & ASCII & is & 13. //////The & Result:A==& ASCII & value & is: & & & & & & & & & & & & & & & & & 65 25.Stuff & & //删除字符串中指定位置的字符串,然后在删除位置插入字符串. & & & Print & Stuff( 'abcdefghijk ',3,5, 'ABCD ') //////The & Result:abABCDhijk 26.Str & & & Print & Str(10.) //////The & Result:10.123400 27.Replicate,Replace //按指定次数复制字符串,替换字符串中的内容. & & & Select & Replace(Replicate( 'ABC ',2), 'BC ', 'bc ') //////The & Result:AbcAbc 28.sin,cos,tan,ctan...,Radians & & & Select & sin30du=Sin(Radians(30.0)),ctan30du=cot(Radians(30.0)) 29.Round(近似值) & & & Select & r1=Round(918.2736,3),r2=Round(918.2736,-2),r3=Round(918.),r4=Round(918.) //////The & Result: & r1:918.2740; & r2:900.0000; & r3:918.2730; & r4:900.0000;
发表于:118楼&得分:0
发表于:119楼&得分:0
发表于:120楼&得分:0
留名 & 好贴..
发表于:121楼&得分:0
发表于:122楼&得分:0
发表于:123楼&得分:0
我也要留名
发表于:124楼&得分:0
发表于:125楼&得分:0
发表于:126楼&得分:0
不错,收藏此贴,到时好好看看!!
发表于:127楼&得分:0
我也是好查啊
发表于:128楼&得分:0
发表于:129楼&得分:0
发表于:130楼&得分:0
发表于:131楼&得分:0
都是高手们呀~
发表于:132楼&得分:4
经过对SQLServer2000系统表的分析,写出了以下两个SQL语句。可以把这两个语句分别建为两个“视图”,方便查看用户数据表和字段的信息。 1、列出所有的用户数据表: SELECT & TOP & 100 & PERCENT & o.name & AS & 表名 FROM & dbo.syscolumns & c & INNER & JOIN & & & & & & dbo.sysobjects & o & ON & o.id & = & c.id & AND & objectproperty(o.id, & N 'IsUserTable ') & = & 1 & AND & & & & & & & o.name & && & 'dtproperties ' & LEFT & OUTER & JOIN & & & & & & dbo.sysproperties & m & ON & m.id & = & o.id & AND & m.smallid & = & c.colorder WHERE & (c.colid & = & 1) ORDER & BY & o.name, & c.colid 2、列出所有的用户数据表及其字段信息: SELECT & TOP & 100 & PERCENT & c.colid & AS & 序号, & o.name & AS & 表名, & c.name & AS & 列名, & & & & & & & t.name & AS & 类型, & c.length & AS & 长度, & c.isnullable & AS & 允许空, & & & & & & & CAST(m.[value] & AS & Varchar(100)) & AS & 说明 FROM & dbo.syscolumns & c & INNER & JOIN & & & & & & dbo.sysobjects & o & ON & o.id & = & c.id & AND & objectproperty(o.id, & N 'IsUserTable ') & = & 1 & AND & & & & & & & o.name & && & 'dtproperties ' & INNER & JOIN & & & & & & dbo.systypes & t & ON & t.xusertype & = & c.xusertype & LEFT & OUTER & JOIN & & & & & & dbo.sysproperties & m & ON & m.id & = & o.id & AND & m.smallid & = & c.colorder ORDER & BY & o.name, & c.colid 你如果有更好的方法,请交流一下:) ----作者:夏春涛 Email: &  QQ: & ---- From: /bluesky521/archive//685783.html
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&

我要回帖

更多关于 狼山鸡好养吗 的文章

 

随机推荐