提示:以下是本篇文章正文内容,下面案例可供参考
1、用户表的CRUD
->用户表修改 ->用户表多条件搜索 -> //CTRL+L 快速剪切一行 //CTRL +TAB: 程序内部的页签切换 //Alt + Tab :程序与程序之间的快速切换。
2、SqlHelper的封装
->参数化处理 ->DRY原则 ->ExcuteNonQuery() ->ExcuteScalar() ->ExcuteReader() ->ExcuteTable() SqlHelper + app.config ----------*******************---------------------------------------
3、Case的用法
->使用方法一:(类似C#中的Case的用法) ->语法: Case 表达式 when 值1 then 返回值 when 值1 then 返回值 .... End ->案例:把0413DB数据库中的用户表中数据 全部查询出来,要求把DelFlag=0的显示成删除,DelFlag=1的显示为 未删除 ->使用方法二:(类似C#中的多个if else) ->语法 Case When 表达式 then 返回值 When 表达式 then 返回值 else 值 end ->案例:把0413DB数据库中的用户表中数据全部查询出来,要求把DelFlag=0的显示成删除,DelFlag=1的显示为 未删除
3、补充:ISNULL(表达式,替换的值)
4、SQL控制语句
->定义变量:declare ->给变量赋值: ->set @参数名=值 ->select @参数名=值 ->打印 : Print ->IF ELSE ->语法格式: if(表达式) begin SQL语句 end else begin 语句 end ->WHILE ->语法: While(表达式) begin SQL语句 end
5、子查询
->把一个查询结果作为一个表来使用,就是子查询 ->把一个查询结果作为 一个 表达式进行使用就是子查询。 案例: --查询顾客表中属于同一家公司超过两个顾客的公司名称 select CompanyName,count(*) as 个数 from SalesLT.Customer group by CompanyName having count(*)>2 --查询顾客表中 相同公司人数最多的 顾客信息 select * from SalesLT.Customer where CompanyName=( select top 1 CompanyName from SalesLT.Customer group by CompanyName order by count(*) desc ) --查询 相同公司人数最多的顾客的订单信息 select * from SalesLT.SalesOrderHeader where CustomerID in( select CustomerID from SalesLT.Customer where CompanyName=( select top 1 CompanyName from SalesLT.Customer group by CompanyName order by count(*) desc) ) --查询山东省的所有的城市信息 use 0413DB go select areaId from AreaFull where AreaPId =(select AreaId from AreaFull where AreaName=N'山东省') --查询山东省中所有县级市的 select * from AreaFull where AreaPId in( select areaId from AreaFull where AreaPId =(select AreaId from AreaFull where AreaName=N'山东省') ) --查询山东省中的所有的县 select * from AreaFull where AreaPId in( select areaId from AreaFull where AreaPId =(select AreaId from AreaFull where AreaName=N'山东省') ) and AreaName like N'%县'
6、分页SQL语句
->Row_Number函数的分页使用 ->双Order排序 分页法【越过多少条,取多少条数据】
7、表链接
->Inner Join ->查询员工出差的信息。 ->Right Join ->查询所有员工的信息,如果有出差信息则显示出差信息。 ->Left Join ->Full Join ->查询所有员工的信息和所有的出差信息, ->Cross Join ->查询所有员工和所有职位的组合情况
8、索引
->索引就是表的目录。 提高查询效率。 ->创建索引 ->索引的分类 ->聚簇索引:索引的存储顺序跟数据的存储顺序一致。 ->非聚簇索引:索引指向聚簇索引或者是数据存储的磁盘位置。 ->语法 ->非聚集索引 ->CREATE INDEX 索引名 ON 表名(列名) ->创建唯一非聚集索引 ->CREATE UNIQUE INDEX 索引名 ON 表名(列名) ->创建聚集索引 ->CREATE TABLE t1 (a int, b int, c AS a/b); CREATE UNIQUE CLUSTERED INDEX Idx1 ON t1(c); INSERT INTO t1 VALUES (1, 0); ->使用索引的条件: ->经常查询的字段,经常进行数据筛选的列 ->索引失效: ->where条件后面使用了 <> 、not in 、not exist、!= 、Or等 ->对列使用了函数处理 类型转换函数 convert cast ->隐式转换使索引失效: ->错误的例子:select * from test where tu_mdn=13333333333; ->正确的例子:select * from test where tu_mdn='13333333333'; ->对索引列进行运算导致索引失效,我所指的对索引列进行运算包括(+,-,*,/,! 等) ->错误的例子:select * from test where id-1=9; ->正确的例子:select * from test where id=10; ->like查询是以%开头 ->在Where子句中使用IS NULL或者IS NOT NULL
->补充GUID的使用
–>选择:
->苹果园 选择苹果。
->做出明智的选择。
->多项选择、单项选择
->如何选择:
->跟着需求走
->报传智播客,明智的选择。
->选择 大于 失败
->为了选择而努力