From 9027957a55a44df11f8bd2188907822424f4d5c8 Mon Sep 17 00:00:00 2001 From: 15060864229 <1186491987@qq.com> Date: Thu, 15 Sep 2022 10:51:16 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=90=88=E9=87=91?= =?UTF-8?q?=E5=8D=93=E7=9A=84=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../9.14\350\247\206\345\233\276.md" | 44 +++++++++++++++++++ .../9.15\347\264\242\345\274\225.md" | 5 ++- 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 "08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.14\350\247\206\345\233\276.md" diff --git "a/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.14\350\247\206\345\233\276.md" "b/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.14\350\247\206\345\233\276.md" new file mode 100644 index 0000000..166d13d --- /dev/null +++ "b/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.14\350\247\206\345\233\276.md" @@ -0,0 +1,44 @@ +# 视图 + +是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上 + +在基表中修改数据,视图也会修改 + +**视图的作用** + +- 视图能够简化用户的操作 +- 视图使用户能以多种角度看待同一数据 +- 视图对重构数据库提供了一定的逻辑独立性 +- 视图能够对机密数据提供安全保护 + +## 语句 + +```sql +建立视图 +create view 视图名 +as (要查询的表、字段) with check option +``` + +with check option:更新 + + + +删除视图 +drop view 视图名 + + + +查询视图 +select * from 视图名 + +修改视图 +update 视图名 set 字段=修改的数据 where 字段=指定数据 + + + +#### 视图的设计原则 + +- 以 select * 方式创建的视图:可扩充性差,应尽可能避免 + + + diff --git "a/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.15\347\264\242\345\274\225.md" "b/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.15\347\264\242\345\274\225.md" index ebc8f51..f048c85 100644 --- "a/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.15\347\264\242\345\274\225.md" +++ "b/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.15\347\264\242\345\274\225.md" @@ -42,6 +42,7 @@ create index IDX_score on stuscore (score) ```sql --使用索引进行查询 +select * from Stuscore with(index=IDX_score) where score between 60 and 90 ``` - 索引的删除 @@ -51,9 +52,9 @@ create index IDX_score on stuscore (score) drop index 索引名 on 表名 ``` -查询索引 +查询该表索引 ``` -exec * +exec sp_helpindex stuscore ``` -- Gitee From 0a641c37e8ae0157b5f67a430a66b7e2cf9bc9c2 Mon Sep 17 00:00:00 2001 From: 15060864229 <1186491987@qq.com> Date: Thu, 15 Sep 2022 11:29:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=90=88=E9=87=91?= =?UTF-8?q?=E5=8D=93=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....8\345\255\220\346\237\245\350\257\242.md" | 40 +++++++++++++++++++ ...22\345\272\217\345\207\275\346\225\260.md" | 22 ++++++++++ .../GO\350\257\255\345\217\245.md" | 6 +++ 3 files changed, 68 insertions(+) create mode 100644 "08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.8\345\255\220\346\237\245\350\257\242.md" create mode 100644 "08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.8\346\216\222\345\272\217\345\207\275\346\225\260.md" create mode 100644 "08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/GO\350\257\255\345\217\245.md" diff --git "a/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.8\345\255\220\346\237\245\350\257\242.md" "b/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.8\345\255\220\346\237\245\350\257\242.md" new file mode 100644 index 0000000..35e9d1a --- /dev/null +++ "b/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.8\345\255\220\346\237\245\350\257\242.md" @@ -0,0 +1,40 @@ +# 子查询 + +子查询也称为内部查询或内部选择,而包含子查询的语句也称为外部查询或外部选择。 + +#### 1、in关键字 + +使用多行比较符 in 时,主查询会与子查询中的每一个值进行比较,如果与其中的任意一个值相同,则返回。not in 与 in 的含义恰好相反 + +#### 2、all关键字(全部) + +all 关键字位于多行比较运算符之后,通过 all 关键字将一个表达式或列的值与子查询所返回的一列值中的每一行进行比较,只要有一次比较的结果为 false,则 all 测试返回 false,主查询不执行;否则返回 true,执行主查询 + +all 含义: + +当 all 时,表示大于最大值 + +#### 3、any|some(两个差不多) + + any 与 some 的查询功能相同 + +any 或 some 用于子查询之前,通过 any|some 比较运算符,将一个表达式或列的值与子查询所返回的一列值中的每一行进行比较,只要有一次比较的结果为 true,则 any 或 some 测试返回 true,主查询执行;否则结果为false,主查询不执行 +#### 4、exists子查询(存在) + +用于检查子查询是否至少会返回一行数据,返回值为true或false + +not exists 的作用与exists正好相反。如果子查询没有返回行,则满足了not exists 中的 where子句。 + +exists后括号里的查询语句也可以看成是某个条件 + +关键字EXISTS构造子查询时,当子查询的结果集不为空时,则EXISTS返回的结果为TRUE,外层查询语句进行查询;当子查询的结果集为空时,则EXISTS返回的结果为FALSE,外层查询语句不进行查询。 + +``` +if exists(select stu_num from tb_record where stu_num in (select stu_num from tb_student where name='黄弘') and return_time is null) + print '有' +else + print '没有' +``` + diff --git "a/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.8\346\216\222\345\272\217\345\207\275\346\225\260.md" "b/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.8\346\216\222\345\272\217\345\207\275\346\225\260.md" new file mode 100644 index 0000000..07ccedc --- /dev/null +++ "b/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/9.8\346\216\222\345\272\217\345\207\275\346\225\260.md" @@ -0,0 +1,22 @@ +# 排序函数 + +#### 1、排序函数 over + +其中asc表示升序排列(默认值),desc 表示降序,在处理select语句时,order by 子句是处理的子句,因此可以在order by 子句中引用select 句子中定义的列别名 + +排序函数 : OVER( [分组子句] 排序子句[DESC][ASC] ) + +排序子句 :ORDER BY 排序列,排序列… + +#### 2、ROW_NUMBER(),RANK(),DENSE_RANK() 的区别 + +ROW_NUMBER()函数生成的排序根据排序子句给出递增连续的序号 + +RANK()函数生成的排序根据排序子句给出递增的序号,但是存在并列并且跳空 + +DENSE_RANK() 函数生成的排序根据排序子句给出递增的序号,但是存在并列不跳空 + +#### 语句 + +select *, Row_Number() OVER (ORDER BY 字段 desc) FROM 表名 + diff --git "a/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/GO\350\257\255\345\217\245.md" "b/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/GO\350\257\255\345\217\245.md" new file mode 100644 index 0000000..6e06d04 --- /dev/null +++ "b/08\351\273\204\346\245\267\351\222\212/\347\254\224\350\256\260/GO\350\257\255\345\217\245.md" @@ -0,0 +1,6 @@ +#### go语句特点: + +1. 等待go语句前的代码执行完成后,再执行go后面的代码。 +2. 批处理语句的结束标志。 + +局部变量只能在两个go中间生效 \ No newline at end of file -- Gitee