加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 数据库 > MsSql > 正文

SQL Server -- 回忆笔记(四):case函数,索引,子查询,分页查询,视图,存储过程

发布时间:2021-01-17 14:21:59 所属栏目:MsSql 来源:互联网
导读:SQL Server知识点回忆篇(四):case函数,索引,子查询,分页查询,视图,存储过程1. CASE函数(相当于C#中的Switch)select UserName,Age,类别=case when Age18 then 未成年人 else 成年人 end from tbUsers2. 索引 index聚集索引(物理):一个表只能有一

SQL Server知识点回忆篇(四):case函数,索引,子查询,分页查询,视图,存储过程

1. CASE函数(相当于C#中的Switch)

,Age,类别 Age tbUsers

2. 索引 index

  聚集索引(物理):一个表只能有一个。创建一个表时,如果有主键,主键会自动创建聚集索引。

  非聚集索引(逻辑):一个表可以有多个。

  增加索引后,会增加额外的存储空间开销,降低了增加新纪录、修改、删除的效率。

  建索引:索引应该建在经常查询时用到的列上,查询时用到才有意义。数据量大时,使用有索引的列查询,效率会大幅度提高。

  语法格式: create index 索引名称 On 表名(列名)

Ix_ tbUsers()

3. 子查询

  查询出的结果供外层的查询使用。

tableA id( id tableB Name)

4. 分页查询

  使用row_number()实现分页

  思路:比如说要实现每页有10条记录的分页,获取第8页的数据。那么第8页的第一行的行号是前7页的总行数加1,第8页的最后一行的行号是8*10 。

    那么每一页的第一行是(n-1)*10+1,最后一行是n*10。要取第几页的数据,n就传入第几页。

,iRowNumerrow_number() ( id ) r.iRowNumer ()

5. 视图

  视图里只能存查询语句。如果视图查询语句中有重名的列,必须起别名。

  创建视图:

vw_Users tbUsers

  从视图查询:

vw_Users

6. 存储过程

  数据库中默认存在的以sp_开头的是数据库系统的存储过程。

  exec sp_databases: 返回实例中的所有数据库  exec sp_tables: 返回当前数据库下的所有表  exec sp_columns: 用于获取指定表中的所有列(例:exec sp_columns 'tbUsers' )  exec sp_helptext 'sp_databases' :获取sp_databases源代码

  创建存储过程:

  执行存储过程:

usp_sayHello

  创建带参数的存储过程:

  执行带参数的存储过程:

usp_add ,

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读