学习SQL应知道的动态SQL语句基本语法
学习SQL应知道的动态SQL语句基本语法
学习SQL应知道的动态SQL语句基本语法
1、普通SQL语句可以用Exec执行
eg:Select*fromtableName
Exec('select*fromtableName')
Execsp_executesqlN'select*fromtableName'--请注意字符串前一定要加N
2、字段名,表名,数据库名之类作为变量时,必须用动态SQL
eg:
declare@fnamevarchar(20)
set@fname='FiledName'
Select@fnamefromtableName--错误,不会提示错误,但结果为固定值FiledName,并非所要。
Exec('select'+@fname+'fromtableName')--请注意加号前后的单引号的边上加空格
当然将字符串改成变量的形式也可
declare@fnamevarchar(20)
set@fname='FiledName'--设置字段名
declare@svarchar(1000)
set@s='select'+@fname+'fromtableName'
Exec(@s)--成功
execsp_executesql@s--此句会报错
declare@sNvarchar(1000)--注意此处改为nvarchar(1000)
set@s='select'+@fname+'fromtableName'
Exec(@s)--成功
execsp_executesql@s--此句正确
3、输出参数
declare@numint,
@sqlsnvarchar(4000)
set@sqls='selectcount(*)fromtableName'
exec(@sqls)
--如何将exec执行结果放入变量中?
declare@numint,
@sqlsnvarchar(4000)
set@sqls='select@a=count(*)fromtableName'
学习SQL应知道的动态SQL语句基本语法
execsp_executesql@sqls,N'@aintoutput',@numoutput
select@num
此外,如果想要在SQL语句字符串中使用单引号''可以使用''''
SQLServer数据库中经常用到的identity列
发布时间:2008.03.2404:59来源:赛迪网作者:Alice
【赛迪网-IT技术报道】SQLServer中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便。但它有时还会带来一些麻烦。
示例一:当表中被删除了某些数据的时候,自增长列的编号就不再是一个连线的数列。这种时候我们可以用以下方案来解决。
允许将显式值插入表的标识列中,当设置为ON时,这时可能在INSERT操作时手工指定插入到标识列中的编号,同时必须在操作完成后,将IDENTITY_INSERT还原成OFF,否则下次插入的时候必须指定编号,那不然就无法完成INSERT操作。
示例二:当表中的记录被全部删除,但此时标识列的值越来越大的时候,如果不加以重置,它还会无休止的增长。这个时候我们就要用到:
将把指定表的种子值强制重设为1。然而,你可能不想将种子重设为1,在这种情况下,你可以用你想用的种子值替代第三个参数。有时候你可能想知道当前的种子,而不是想重设种子,这时你就要用到NORESEED,而不用再去顾忌第三个参数。
“一网打尽”通用SQL数据库的查询语句(1)
学习SQL应知道的动态SQL语句基本语法
发布时间:2008.01.0404:40来源:赛迪网作者:20933
通用SQL数据库的查询语句:
(注释:本文中Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。)
一、简单查询
简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。
例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。
(一)选择列表选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。
1、选择所有列
例如,下面语句显示
testtable表中所有列的数据:
2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。
学习SQL应知道的动态SQL语句基本语法
3、更改列标题在选择列表中,可重新指定列标题。定义格式为:
列标题=列名
列名列标题
如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:
4、删除重复行
SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。
5、限制返回的行数
使用TOPn[PERCENT]选项限制返回的数据行数,TOPn说明返回n行,而TOPnPERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。
(二)FROM子句FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。
在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:
学习SQL应知道的动态SQL语句基本语法
在FROM子句中可用以下两种格式为表或视图指定别名:
表名as别名
表名别名
例如上面语句可用表的别名格式表示为:
SELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。
学习SQL应知道的动态SQL语句基本语法
此例中,将SELECT返回的结果集合给予一别名t,然后再从中检索数据。
(三)使用WHERE子句设置查询条件
WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:
WHERE子句可包括各种条件运算符:比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!<
范围运算符(表达式值是否在指定的范围):BETWEEN…AND…
NOTBETWEEN…AND…
列表运算符(判断表达式是否为列表中的指定项):IN(项1,项2……)
NOTIN(项1,项2……)
模式匹配符(判断值是否与指定的字符通配格式相符):LIKE、NOTLIKE
空值判断符(判断表达式是否为空):ISNULL、NOTISNULL
逻辑运算符(用于多条件的逻辑连接):NOT、AND、OR
1、范围运算符例:ageBETWEEN10AND30相当于age>=10ANDage<=30
2、列表运算符例:countryIN('Germany','China')
3、模式匹配符例:常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。可用于char、varchar、text、ntext、datetime和smalldatetime等类型查询。
可使用以下通配字符:
学习SQL应知道的动态SQL语句基本语法
百分号%:可匹配任意类型和长度的字符,如果是中文,请使用两个百分号即%%。下划线_:匹配单个任意字符,它常用来限制表达式的字符长度。
方括号[]:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。[^]:其取值也[]相同,但它要求所匹配对象为指定字符以外的任一个字符。
例如:
限制以Publishing结尾,使用LIKE'%Publishing'
限制以A开头:LIKE'[A]%'
限制以A开头外:LIKE'[^A]%'
4、空值判断符例WHEREageISNULL
5、逻辑运算符:优先级为NOT、AND、OR
(四)查询结果排序
使用ORDERBY子句对查询返回的结果按一列或多列排序。ORDERBY子句的语法格式为:
其中ASC表示升序,为默认值,DESC为降序。ORDERBY不能按ntext、text和image数据类 …… 此处隐藏:3251字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




