T-SQL语句 运算符

T-SQL语言主要由以下几部分组成:
DML(Data Manipulation Lauguage,数据操纵语言):用来查询,插入,删除和修改数据库中的数据,如select,insert,update,delete。
DDL(Data Definition Lauguage,数据定义语言):用来建立数据库,数据库对象和定义其列,大部分是以create开头的命令,如create,alter,drop等。
DCL(Dtat Control Lauguage,数据定义语言):用来控制数据库组件的存取许可,存取权限等,如grant,revoke等。

select语法结构
SELECT <列名> FROM <表名> WHERE < 查询限定条件>
在SQL server中,select语法的语法结构如下:
SELECT select_list
[INTO new_table_name]
FROM table_name
[WHERE searh_conditions]
[GRUOP BY group_by_expression] [HAVING search_conditions]
[ORDER BY order_expression [ASC|DESC] ]

条件表达式:
常量:表示单个指定数据值的符号。一个常量由一个或多个字母,数字字符(字母a~z,A~Z,数字0~9)或符号(!,@,#等)组成。字母,日期和时间数据类型的常量需要用单引号括起来,二进制字符串和数据常量则不需要。
列名:表中列的名称。
{一元运算符}:仅有一个操作数的运算符,其中“+”表示正数,“-”表示负数,“~”表示补数运算符。
{二元运算符}:将两个操作数组合执行操作的运算符。二元运算符可以是算术运算符,赋值运算符(=),位运算符,比较运算符,逻辑运算符,字符串串联(或连接)运算符(+)或一元运算符。
比较运算符详解

运算符 含义
= 等于
> 大于
< 小于
‘>= 大于或等于
<= 小于或等于
<> 不等于
!= 不等于,等同于<>
BETWEEN 指定值得包含范围(包含边界)。使用AND分隔开始值和结束值
IS[NOT]NULL 根据使用的关键字,指定是否搜索空值或非空值。如果有任何一个操作数为NULL,则包含位运算符或算术运算符的表达式的计算结果位NULL
LIKE 模糊查询,与指定字符串进行模式匹配
IN 是否在数据范围里面

举例:
PRICE > 20 ,表示满足大于20的PRICE值。
PRICE <> 20 ,表示满足不等于20的PRICE值。
PRICE Between 10 AND 20 ,表示满足大于等于10且小于等于20的PRICE值。
NMAE LIKE ‘李%’ ,表示满足NAME姓名字段中姓李的所有姓名。
通配符

通配符 解释 示例
‘_’ 任何单个字符 name LIKE ‘_ean’将查找以ean结尾的所有四个字母的名字(如dean,sean等)
% 任意长度的字符串 name LIKE ‘%ean%’将查找所有包含ean的名字(如dean,sean,sheany等)
[] 括号中所指定范围内的一个字符 name LIKE ‘[C-P]arsen’将查找以arsen结尾且介于C与P之间的任何单个字符开始的名字(如Carsen,Marsen等)
[^] 不在括号中所指定范围内的任意一个字符 name LIKE ‘car[^afg]’将查找以car开始且其后的字母不为a,f,或g的所有名字(如care,carn等)

举例:
要求表中的电话号码列输入的格式为11位手机号,前两位数字为’13’,可以编写如下约束表达式:
([telnumber] LIKE ‘13[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)

逻辑表达式:
逻辑运算符

操作符 说明
NOT 和其它操作符一起使用,取反的操作
AND 组合两个条件,并在两个条件都为TURE时取值为TURE
OR 组合两个条件,并在两个条件之一为TURE时取值为TURE

当一个语句中使用了多个逻辑运算符时,首先求NOT的值,然后求AND的值,最后求OR的值。
举例:
采购订单表中的付款方式时信用卡,约束要求是只能是牡丹卡,金穗卡,龙卡或者阳光卡,可以编写如下的约束表达式:
付款方式 = ‘信用卡’ AND 信用卡 IN (‘牡丹卡’,‘金穗卡’,‘龙卡’,‘阳光卡’)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章