1.2建立视图web
视图存储在数据库中,但并不保存数据,指示一个通过优化的SELECT查询。数据库
1.3建立存储过程函数
存储过程能够执行操做和业务功能,例如插入,更新,删除表数据。经过参数传递,判断是选择执行的操做。输入需在AS字符前定义。测试
1.4建立触发器优化
触发器对表的记录执行特定的操做时执行。触发器一般应用特殊的业务规则来保证数据的完整性。触发器独有的特性包括赋予DML的操做、隐式事务控制,以及虚表引用。编码
1.5建立用户自定义函数url
主要实现定制的业务逻辑。CREATE命令以后是函数名,函数名后的括号中包含对一个或多个参数的引用。每一个参数后跟数据类型。Returns关键字后的文本表名函数返回的数据类型。spa
DML(Data Manipulation Language)数据操纵语言。code
子句orm |
解释 |
SELECT |
后跟一组列的列表,或者一个星号,表示要返回全部的列 |
FROM |
后跟一个表或视图的名字,或者带有链接表达式的多个表 |
WHERE |
后跟过滤规则 |
ORDER BY |
后跟一组列的列表,用于对这些列进行排序 |
2.1列的选择
返回yhid,yhmc对应的列。用(*)来表明全部列执行查询会下降处理器的效率,通常尽可能不是用(*)来返回全部列数据。
在执行多表查询的时候,若是表之间有相同名称的列,必须制定所属表。例如上例的yhid为Sys_Yonghu.yhid
2.2列的别名
别名的设置主要方便业务层,数据层编码人员对列明的理解和描述。常见别名方法有
语法 |
描述 |
列AS别名 |
|
列别名 |
|
别名=列 |
|
2.3被计算和继承的列
Margin为被计算生成的新列
2.4行的过滤
行的过滤有两种方法:是用WHERE子句根据过滤条件来限制每一个行,或使用TOP子句使列表中只包含指定数量的列。
2.5 WHERE子句
SQL Server在检索数据以前会先运行WHERE子句,节省内存和I/O资源。
2.51比较运算符
比值与限定值一般可总结为:一个值等于、小于或大于另外一个值。
运算符 |
描述 |
= |
等于。可用于几乎全部数据类型 |
<>或者!= |
不等于 |
< |
小于。用于数值与日期 |
> |
大于 |
!< |
不小于 |
!> |
不大于 |
<= |
小于等于 |
>= |
大于等于 |
Like |
用于对字符型的值进行通配符匹配 |
对于Like运算经常使用的通配符有
运算符 |
说明 |
% |
0个或多个字符 |
_ |
单个字符 |
[] |
在指定范围或集合内的单个字符 |
[^] |
不在指定范围或集合内的单个字符 |
找出以某个值结束的字符串,只需把通配符放在字符串的开头
select jgid from sys_yonghu where jgid like'%02'
运行结果:0102
找出包含某个字符串的值,在开头和结尾使用通配符
运行结果:0104
找出包含某个字符串的值,使用下划线
运行结果:0104
找出单个字符在指定范围或集合中的值,可使用方括号
运行结果:0104,0102
在一个范围内搜索,在字母之间添加短横线
运行结果:0104,0102
搜索不包含某些字符的值,使用^符号
运行结果:0102
查找不相似某规则的字段,使用NOT
select jgid from sys_yonghu where jgid notlike'0102%'
运行结果:01,0104
2.52逻辑比较
逻辑门分为三种:与(And)、或(Or)、非(Not)
And运算符:若是整个表达式的结果是真,则表达式中的每一个语句都必须是真。只有匹配where后面两个过滤器才能查询获得。
Or运算符:只要执行匹配任何一个条件,就会被返回。
NOT运算符:该运算符不是独立的,它是一个能够放在任何逻辑表达式前面的修饰符,能获得与结果相反的结果。NOT运算符一般效率比较低,SQL Server实际上将衔处理基本表达式,而后才提取不包含在原结果中的行。
2.53 NULL
Null值不等于任何值,甚至它本身。可用IS运算符来测试Null。也可使用IS NOT来测试非NULL值。
2.54被扩展的过滤技术
通常为日期和数值的范围匹配。
2.55 BETWEEN运算符
简化范围表达式,在值范围之间,并包括值范围的边界。
2.56 IN()函数
可也把一个字段与列表中的数值进行匹配。
in函数也能够用于子查询。
2.57运算符优先级
NOT运算符最早被处理,其次是AND,而后是OR,最后才考虑运算符。
2.58使用括号
使用括号来分隔表达式,以制定运算符的优先次序。处理多个运算时,使用括号就不用关心运算符的正常优先级。
2.59结果排序
排序规则:若是但愿行以某种顺序返回,就必须使用ORDER BY 子句来强制排序。ORDER BY 子句老是放在WHERE子句后面,它能够包含一个或多个列,每一个列之间用括号分割。默认为升序ASC,若是须要降序则使用DESC
2.510排在前面的值
返回排序排在前面的值,能够指定固定数量的行或者指定总行数的百分比。
WITH TIES语句:把全部和最后一行相同的已排序记录都加到结果集中。
百分比:用百分比来指定整个结果集的百分比,SQL SERVER对记录进行计算,并圆整为最近的整数。