- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常用SQL说明
Transact-SQL具体可以参阅《Transact-SQL参考》(tsql.hlp)(简写《T-SQL》)
建意:
在写SQL Script时最好能将数据操作SQL的保留字用大写
注:
此处语法格式只是常用格式,并不是SQL标准格式,标准格式请参阅《T-SQL》
以下所用的程序代码都使用VB6.0代码,在例子中的SQL无实际意义
选择
SELECT
SELECT 可以选择指定的数据列
如:
SELECT * FROM sysobjects
SELECT [name] FROM syscolumns
当在SQL中存在系统保留字时应用[]引起,或在SQL中存在特殊字符也应用[]引起,
如:
SELECT [Object Name] FROM Objects
在使用别名时也应注意以上原则,别名使用可以用以下两种方法:
Column_name AS alias
Column_name alias
中间的AS可以省略
在SELECT中可以使用条件选择语法,参见下面的条件
如:
SELECT [name],xtype,CASE WHEN xtype=U THEN 用户表 ELSE CASE WHEN xtype=S THEN 系统表 END END AS 类型 FROM sysobjects
返回表:
name xtype 类型
syscolumns S 系统表
tabledefine U 用户表
将两个查询合成单独的返回表:
用UNION关键字
如SELECT A,B FROM Table1
UNOIN
SELECT C,D FROM Table2
说明:
在使用UNION时,若无ALL参数则默认将过虑相同的记录,
如:
Table1 Table2
ID TF1 VALUE1 ID TF2 VALUE2
1 A 10 5 A 10
5 B 20 6 D 21
2 A 30 3 C 31
3 C 40 1 B 41
SELECT TF1,VALUE1 FROM Table1
UNION
SELECT TF2,VALUE2 FROM Table2
返回表:
TF1 VALUE1
A 10
B 20
A 30
C 40
D 21
C 31
B 41
其中可以看出少了一个TF2=A ,VALUE2=10的记录
但用以下查询时
SELECT TF1,VALUE1 FROM Table1
UNION ALL
SELECT TF2,VALUE2 FROM Table2
返回表:
TF1 VALUE1
A 10
B 20
A 30
C 40
A 10
D 21
C 31
B 41
刚此查询将返回所有记录
此问题可能会出现在报表统计上,如一个员工在不同日期内做了相同的产品与数据,但在使用非ALL方式进行合计时将会少合计一条记录
与INTO联用
SELECT …. INTO B FROM A
可以将A 表的指定数据存入B表中
应用类型:
备份数据表:
SELECT * INTO Table1_bak FROM Table1
创建新表
SELECT * INTO New_Table1 FROM Table1 WHERE 11
SELECT TOP 0 * INTO New_Table1 FROM Table1
保存查询结果
SELECT Field1,Field2 INTO Result FROM Table1 WHERE ID1000
创建新表并在新表中加入自动序号
一表有些表需要一个自动编号列来区别于各行
SELECT IDENTITY (INT,1,1) AS AutoId,* INTO new_Table1 FROM Table1
其中IDENTITY函数说明:
格式:
IDENTITY (datatype [seed,increment])
参数说明:
文档评论(0)