网站首页> 日志> 数据库系列学习(四)-数据的过滤
数据库系列学习(四)-数据的过滤
编辑时间:2016-11-08 07:12:03 作者:李大宝 浏览量:558

1.准备学习的数据库 

 --创建学生表 create table T_Student ( SId int primary key identity(1,1), SName nvarchar(10), SGender varchar(2) default('男'), SAge int )

 --identity表示主键自增长,从1开始,且每次加1 

--插入数据 

 --全部列名与值一一对应 insert into T_Student(SName,SGender,SAge) values('李三','男',13) 

 --全部列名都赋值,则values前边值可省 insert into T_Student values('李四','女',14) 

 --因为SGender有默认值,所以写也有有值 

insert into T_Student(SName,SAge) values('王五',15) insert into T_Student values('赵六','男',16) insert into T_Student values('Kim','男',17) insert into T_Student values('Lily','女',18) insert into T_Student values('Jerry','女',19) 

 2.select基本用法

 (1)简单的数据检索 


7cb6177a-46e8-4fc9-854f-c82aa4b85651

 (2)检索出需要的列 


965d2b6c-63eb-48d4-bf99-a0243ed9ab0f


 (3)给列设别名


1d3fc62f-fa5c-448d-bfe6-a76127915e2c

 (4)按条件过滤


e365cd91-9b65-4e5d-be11-0a4e0228e1e8

 (5)数据汇总


148865e1-6de9-474e-86e2-997f08d60793


 (6)排序


32882aca-f73c-4643-b514-891b88187bd2

 3.高级数据过滤 

 (1)通配符过滤

 A:单字符匹配 


644073f1-187b-46b6-881d-6b68dc10d718


 B:多字符匹配 


1c0ffd89-6b85-4fb0-a56a-76e8b3a4a7b3

 C:集合匹配 


20da0b3f-a2b8-4161-8463-ec4b13e86ff2


 D:使用否定匹配法 


fd86c167-f9ac-4c32-b6c8-0714ef52cee7


 E:使用通配符过滤虽然方便,但是会对数据库进行全表扫描,所以执行速度非常慢 (2)空值检测 首先插入两条记录先 


5009a0fa-ab4c-4d17-8cc5-8bba5b2ddfc1


 开始查询


f11d84fc-8be3-479e-8cf6-5b6ce43b5338


 (3)反义运算符 


5bf5f8f2-094c-4ee7-8b47-09762ddc51fc

 (4)多值检测 


61418a08-4efe-43d1-80b5-d6c957d3107d

 (5)范围检测


bb9af462-377f-4878-acdf-ab24422b4b39

 (6)低效的“where 1 = 1” 在动态组装sql语句时会用到 缺点:使用“1=1”的过滤条件以后数据库系统就无法使用检索等查询优化策略,数据库系统就会被迫对每行数据进行扫描,即全表扫描



发表评论,请先 登录

袭人 

2018-08-16
00000000000000000