SQL Server基础概念--杂七杂八的一些小地方

本文介绍了 SQL Server 中的数据操作语言与查询技巧,包括空值处理、子查询使用、联合查询、数据插入方法、WHERE子句使用限制、变量定义与使用、流程控制语句、数据类型详解、算术与字符串运算符应用、通配符使用、连接类型说明以及视图索引创建等关键知识点。
rel="File-List" href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"> rel="themeData" href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"> rel="colorSchemeMapping" href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml">


1.   在算术表达式中,如果任意一个运算符分量为空值,则表达式的值为空。如x+y*z中,如果y为空值,则表达式值为空;同样,逻辑表达式中,如果有一个值为空值,则整个逻辑表达式的值为空值。如x+y*z>0 AND SEX=MALE,如果y为空值,则x+y*z>0的值为空,整个逻辑表达式的值也为空。


2.   关联子查询使用量词EXISTS的话,则子查询返回的是布尔值,不是二维表。如果子查询的返回值为真,则在结果集中保留该元组的值,否则就不保留该元组。


3.   UNION,如果两个查询是并兼容的,则可以并为一个查询结果,也就是说,如果两个查询的结果集有形同的列,则二者相容,此时可以做并运算。UNION运算可以自动消去重复元组。


4.   使用INSERT插入新元组,有两种方式,一种就是直接插入内容,另外一种可以把嵌套查询得到的结果插入表中,且如果表中的某些列没有在插入语句中出现,则这些列上的值取空值NULL


5.   WHERE子句不能用库函数作为条件表达式,如WHERE AVG(Sage)>22是不对的,可以写成Group BY SchoolNum HAVING AVGSage>22


6.   Transact-SQL语言允许使用两种变量:一种是用户自己定义的局部变量Local Variable),另一种是系统提供的全局变量Global Variable),局部变量必须以“@”开头,且先声明后使用,格式如下:DECLARE @变量名 变量类型[,@变量名 变量类型],局部变量不能使用“变量=变量值”的格式进行初始化,必须使用SELECTSET语句来设定其初始值:SELECT @局部变量=变量值 或 SET @局部变量=变量值


7.   如果声明字符型的局部变量,一定要在变量类型中指明其最大长度,否则系统认为其长度为1


8.   全局变量的名字前面要有两个标记符“@@”。不能定义与全局变量同名的局部变量


9.   流程控制语句

a)    注释:“--”或者“/**/

b)    BEGIN…END

c)    IF…ELSE:IF…END允许嵌套

d)    CASE

e)    WhileCONTIUNEBREAK

f)    GOTO

g)    RETURN

h)    WAITFOR


10.  数据类型

a)    整数数据类型:bigint,int,smallint,tinyint

b)    浮点数据类型:real,float,decimal,numeric

c)    二进制数据类型:binary,varbinary,image

d)    逻辑数据类型:bit

e)    字符数据类型:char,nchar,varchar,nvarchar

f)    文本和图形数据类型:text,ntext,image

g)    日期和时间数据类型:datetime,smalldatetime

h)    货币数据类型:money,smallmoney

i)    特定数据类型:timestamp,uniqueidentifier

j)    用户自定义数据类型:sysname

k)    新增数据类型:sql_variant,table


11.  Transact SQL中,“+”包含了三方面的意义:

a)    表示正号,即在数值前添加“+”号表示该数值是一个正数

b)    表示算术运算的加号,能将数值类型的两个数据相加

c)    连接两个字符型或binary型的数据,这时的“+”号叫做字符串串联运算符

d)    +”和“-”运算符也可用于对datetimesmalldatetime值执行算术运算


12.  SQL SERVER中使用SELECT语句时有两个约定:一是关键字使用大写字母;二是关键字上下对齐,每一行只有一个关键字


13.  通配符一般通过LIKE使用,SQL Server中支持4种通配符:

a)     %       代表零个或者多个任意字符

b)     _       代表一个任意字符

c)     []      指定范围内的任意单个字符

d)    [^]       不在指定范围内的任意单个字符


14.  表之间进行连接时,可以使用三种连接关键字

a)    INNER JOIN    表示内连接,结果集中仅包含满足条件的行。

b)    CROSS JOIN    表示交叉连接,结果集中包含两个表中所有行的组合。

c)    OUTER JOIN    表示外连接,结果集中既包含那些满足条件的行,也包含某些不满足条件的数据。


15.  内连接是保证两个表中所有行都要满足连接条件,而外连接返回FROM子句中提到的至少一个表的所有行,只要这些行符合

任何WHEREHAVING搜索条件。外连接包括以下三种形式:

a)    LEFT OUTER JOIN        左外连接,包括了左表中的全部行

b)    RIGHT OUTER JOIN       右外连接,包括了右表中的全部行

c)    FULL OUTER JOIN        完整外连接,包括了左表和右表中所有不满足条件的行。


16.  SQL server 2000允许为视图创建独特的聚簇索引。在创建了聚簇索引后,视图将被执行,结果集将被存放在数据库中,存放的方式与带有聚簇索引的表的存放方式相同,这就在数据库中有效地实现了查询结果。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值