From 57780c07cd755f9f0deaaf2e49802a33b6640dcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=99=BA=E7=BF=94?= <2045602860@qq.com> Date: Thu, 26 Oct 2023 03:09:08 +0000 Subject: [PATCH] =?UTF-8?q?34=20=E5=88=98=E6=99=BA=E7=BF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 刘智翔 <2045602860@qq.com> --- .../\345\244\215\344\271\240.md" | 5 ++ ...45\350\257\242\347\254\224\350\256\260.md" | 78 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 "34 \345\210\230\346\231\272\347\277\224/\345\244\215\344\271\240.md" create mode 100644 "34 \345\210\230\346\231\272\347\277\224/\345\255\220\346\237\245\350\257\242\347\254\224\350\256\260.md" diff --git "a/34 \345\210\230\346\231\272\347\277\224/\345\244\215\344\271\240.md" "b/34 \345\210\230\346\231\272\347\277\224/\345\244\215\344\271\240.md" new file mode 100644 index 0000000..606df0d --- /dev/null +++ "b/34 \345\210\230\346\231\272\347\277\224/\345\244\215\344\271\240.md" @@ -0,0 +1,5 @@ +Window 函数:Window 函数是 SQL 语言的一个重要扩展,使查询和分析大型数据集变得更加灵活和高效。MySQL 8.0 支持 Window 函数,包括 OVER 子句和 ORDER BY 子句,允许你在特定的排序和分区上执行聚合函数、窗口函数和分析函数。 + +InnoDB 模式:InnoDB 是 MySQL 8.0 默认的存储引擎,如果你想要充分利用 MySQL 8.0 的高级特性,则需要熟悉一些 InnoDB 的特性。例如,使用 InnoDB 的事务和锁定机制来保证数据的完整性和一致性;使用 InnoDB 的行级锁定来避免数据损坏和死锁;使用 InnoDB 的缓存管理来优化查询性能和响应时间。 + +GIS 功能:MySQL 8.0 提供了对空间和地理信息系统(GIS)数据的支持,你可以使用数据类型和函数来存储、查询和分析 GIS 数据。 \ No newline at end of file diff --git "a/34 \345\210\230\346\231\272\347\277\224/\345\255\220\346\237\245\350\257\242\347\254\224\350\256\260.md" "b/34 \345\210\230\346\231\272\347\277\224/\345\255\220\346\237\245\350\257\242\347\254\224\350\256\260.md" new file mode 100644 index 0000000..d1fb075 --- /dev/null +++ "b/34 \345\210\230\346\231\272\347\277\224/\345\255\220\346\237\245\350\257\242\347\254\224\350\256\260.md" @@ -0,0 +1,78 @@ +## 子查询 + +含义: + +- 一条查询语句中又嵌套了另一条完整的select语句 +- 外面的语句可以是insert、update、delete、select等,一般select作为外面语句较多 +- 被嵌套的select语句,称为子查询或内查询 +- 在外面的查询语句,称为主查询或外查询 + +特点: + +- 子查询都放在小括号内 + +- 子查询可以放在from后面、select后面、where后面、having后面,但一般放在条件的右侧 + +- 子查询优先于主查询执行,主查询使用了子查询的执行结果 + +- 子查询根据查询结果的行数不同分为以下两类: + +- - 单行子查询 + + - - 结果集只有一行 + + - 一般搭配单行操作符使用:> < = <> >= <= + + - 非法使用子查询的情况: + + - - 子查询的结果为一组值 + - 子查询的结果为空 + + - 多行子查询 + + - - 结果集有多行 + - 一般搭配多行操作符使用:any、all、in、not in + +- in:属于子查询结果中的任意一个就行 + +- any和all往往可以用其他查询代替 + +分类: + +按子查询出现的位置: + +> select后面: +> 仅仅支持标量子查询 +> +> from后面: +> 支持表子查询 必须起别名 +> where或having后面:★ +> 标量子查询(单行) √ +> 列子查询 (多行) √ +> +> 行子查询 +> +> exists后面(相关子查询) +> 表子查询 + +按结果集的行列数不同: + +- 标量子查询(结果集只有一行一列) +- 列子查询(结果集只有一列多行) +- 行子查询(结果集有一行多列) +- 表子查询(结果集一般为多行多列) + +**where或having后面** + +- 标量子查询(单行子查询) +- 列子查询(多行子查询) +- 行子查询(多列多行) + +特点: + +- 子查询放在小括号内 +- 子查询一般放在条件的右侧 +- 标量子查询,一般搭配着单行操作符使用> < >= <= = <> +- 列子查询,一般搭配着多行操作符使用**in、any/some、all** +- **in /not in =any** +- 子查询的执行优先于主查询执行,主查询的条件用到了子查询的结果 \ No newline at end of file -- Gitee