boiled_iron

coding,sql,accounting,hospital,paper,picturing

导航

随笔分类 -  SQL

1 2 下一页

about sql
GROUPING
摘要:只使用GROUP BY子句和聚合函数是无法同时得出小计和合计的。如果想要同时得到,可以使用GROUPING运算符。 合计行是不指定聚合键时得到的汇总结果。 GROUPING 运算符包含以下3 种 ●ROLLUP●CUBE●GROUPING SETS ⚪ ROLLUP的使用方法 ROLLUP 是“卷起 阅读全文

posted @ 2021-01-28 17:34 boiled_iron 阅读(73) 评论(0) 推荐(0)

记录的排列顺序——两个ORDER BY
摘要:因为使用窗口函数时必须要在OVER 子句中使用ORDER BY,所以可能有朋友乍一看会觉得结果中的记录不会按照该ORDER BY 指定的顺序进行排序。 其实OVER 子句中的ORDER BY 只是用来决定窗口函数按照什么样的顺序进行计算的,对结果的排列顺序并没有影响。 真正需要对结果排序,需要在SE 阅读全文

posted @ 2021-01-28 11:22 boiled_iron 阅读(1061) 评论(0) 推荐(0)

分析函数 之 计算移动平均
摘要:窗口函数就是将表以窗口为单位进行分割,并在其中进行排序的函数。其实其中还包含在窗口中指定更加详细的汇总范围的备选功能,该备选功能中的汇总范围称为框架。 ●指定框架(汇总范围) 使用ROWS(“行”)和PRECEDING(“之前”)两个关键字,将框架指定为“截止到之前~ 行” 如:“ROWS 2 PR 阅读全文

posted @ 2021-01-28 11:17 boiled_iron 阅读(269) 评论(0) 推荐(0)

分析函数
摘要:分析函数又名窗口函数,也叫OLAP函数(OnLine Analytical Processing)意思是对数据库数据进行实时分析处理。 语法: <窗口函数> OVER ([PARTITION BY <列清单>] ORDER BY <排序用列清单>) 窗口函数大体可以分为以下两种 ① 能够作为窗口函数 阅读全文

posted @ 2021-01-28 10:58 boiled_iron 阅读(464) 评论(0) 推荐(0)

CROSS JOIN——交叉联结
摘要:对满足相同规则的表进行交叉联结的集合运算符是 CROSS JOIN(笛卡儿积)。进行交叉联结时无法使用内联结和外联结中所使用的 ON 子句,这是因为交叉联结是对两张表中的全部记录进行交叉组合,因此结果中的记录数通常是两张表中行数的乘积。 内联结是交叉联结的一部分,“内”也可以理解为“包含在交叉联结结 阅读全文

posted @ 2021-01-27 23:32 boiled_iron 阅读(639) 评论(0) 推荐(0)

3张以上的表的联结
摘要:FROM A表 AS A INNER JOIN B表 AS B ON A.某列(联结键) = B.某列(联结键) INNER JOIN C表 AS C ON C.某列(联结键) = B.某列(联结键) 阅读全文

posted @ 2021-01-27 23:04 boiled_iron 阅读(60) 评论(0) 推荐(0)

OUTER JOIN——外联结
摘要:外联结也是通过 ON 子句的联结键将两张表进行联结,并从两张表中同时选取相应的列的。 ●外联结要点① ——选取出单张表中全部的信息 与内联结的结果相比,不同点显而易见,那就是结果的行数不一样。内联结只能选取出同时存在于两张表中的数据,相反,对于外联结来说,只要数据存在于某一张表当中,就能够读取出来。 阅读全文

posted @ 2021-01-27 23:01 boiled_iron 阅读(549) 评论(0) 推荐(0)

INNER JOIN——内联结
摘要:前面我们学习了UNION 和INTERSECT 等集合运算,这些集合运算的特征就是以行方向为单位进行操作。通俗地说,就是进行这些集合运算时,会导致记录行数的增减。使用UNION 会增加记录行数,而使用INTERSECT 或者EXCEPT 会减少记录行数。 但是这些运算不会导致列数的改变。作为集合运算 阅读全文

posted @ 2021-01-27 22:05 boiled_iron 阅读(258) 评论(0) 推荐(0)

EXCEPT——记录的减法
摘要:语法也与UNION 相同 select 列1,列2,列3... from 表1 except select 列1,列2,列3... from 表2 上述表示,从表1里剔除表2的内容后表1里剩下的内容。 EXCEPT 有一点与UNION 和INTERSECT 不同,需要注意一下。那就是在减法运算中减数 阅读全文

posted @ 2021-01-27 17:03 boiled_iron 阅读(98) 评论(0) 推荐(0)

INTERSECT——选取表中公共部分
摘要:其语法和UNION 完全一样 与使用AND 可以选取出一张表中满足多个条件的公共部分不同,INTERSECT 应用于两张表,选取出它们当中的公共记录。 其注意事项与UNION 相同,我们在“集合运算的注意事项”和“保留重复行的集合运算”中已经介绍过了。希望保留重复行时同样需要使用INTERSECT 阅读全文

posted @ 2021-01-27 17:00 boiled_iron 阅读(258) 评论(0) 推荐(0)

UNION——表的加法
摘要:UNION 等集合运算符通常都会除去重复的记录。 ■注意事项① ——作为运算对象的记录的列数必须相同 如果一部分记录包含2 列,另一部分记录包含3 列时会发生错误,无法进行加法运算。 错误提示:使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的 阅读全文

posted @ 2021-01-27 16:54 boiled_iron 阅读(203) 评论(0) 推荐(0)

NOT IN 后面如果出现了 NULL
摘要:如果NOT IN操作后的列表中的任何项目求值为null,则所有行的求值为FALSE或UNKNOWN,并且不返回任何行。例如,以下语句True为每一行返回字符串“ ”: 从员工中选择“真” WHERE department_id NOT IN(10,20); 但是,以下语句不返回任何行: 从员工中选择 阅读全文

posted @ 2021-01-26 22:53 boiled_iron 阅读(261) 评论(0) 推荐(0)

CASE
摘要:语法: CASE WHEN <求值表达式> THEN <表达式> WHEN <求值表达式> THEN <表达式> WHEN <求值表达式> THEN <表达式> ... ELSE <表达式> END CASE 表达式会从对最初的WHEN 子句中的“< 求值表达式>”进行求值开始执行所谓求值,就是要调 阅读全文

posted @ 2021-01-26 17:31 boiled_iron 阅读(140) 评论(0) 推荐(0)

谓词
摘要:通俗来讲谓词就是函数中的一种,是需要满足特定条件的函数,该条件就是返回值是真值。 对通常的函数来说,返回值有可能是数字、字符串或者日期等,但是谓词的返回值全都是真值(TRUE/FALSE/UNKNOWN)。这也是谓词和函数的最大区别。 LIKE谓词——字符串的部分一致查询 BETWEEN谓词——范围 阅读全文

posted @ 2021-01-26 16:57 boiled_iron 阅读(463) 评论(0) 推荐(0)

函数
摘要:函数大致可以分为以下几种 ● 算术函数(用来进行数值计算的函数)● 字符串函数(用来进行字符串操作的函数)● 日期函数(用来进行日期操作的函数)● 转换函数(用来转换数据类型和值的函数)● 聚合函数(用来进行数据聚合的函数) 绝大多数函数对于 NULL 都返回 NULL。但是转换函数中的COALES 阅读全文

posted @ 2021-01-26 10:49 boiled_iron 阅读(57) 评论(0) 推荐(0)

关联子查询
摘要:在对表中某一部分记录的集合进行比较时,就可以使用关联子查询。 在细分的组内进行比较时,需要使用关联子查询。 结合条件一定要写在子查询中 阅读全文

posted @ 2021-01-25 16:49 boiled_iron 阅读(162) 评论(0) 推荐(0)

子查询
摘要:子查询和视图 子查询 = 一次性视图 子查询就是将用来定义视图的SELECT语句直接用于FROM子句当中。 实际上,子查询包含嵌套的结构,首先会执行 FROM 子句中的 SELECT 语句,然后才会执行外层的 SELECT 语句。 标量子查询(scalar subquery) 标量就是单一的意思。标 阅读全文

posted @ 2021-01-24 23:04 boiled_iron 阅读(100) 评论(0) 推荐(0)

视图(VIEW)
摘要:“从 SQL 的角度来看视图就是一张表” 视图和表到底有什么不同呢?区别只有一个,那就是“是否保存了实际的数据” 通常,我们在创建表时,会通过 INSERT 语句将数据保存到数据库之中,而数据库中的数据实际上会被保存到计算机的存储设备(通常是硬盘)中。因此,我们通过 SELECT 语句查询数据时,实 阅读全文

posted @ 2021-01-24 22:37 boiled_iron 阅读(431) 评论(0) 推荐(0)

事务(transaction)
摘要:事务是对表中数据进行更新的单位。简单来讲,事务就是需要在同一个处理单元中执行的一系列更新处理的集合 。 事务的语法 事务开始语句; DML语句①; DML语句②; DML语句③; . . .事务结束语句(COMMIT或者ROLLBACK); 事务开始语句:BEGIN TRANSACTION 事务结束 阅读全文

posted @ 2021-01-24 00:48 boiled_iron 阅读(396) 评论(0) 推荐(0)

UPDATE语句的使用方法
摘要:基本语法: UPDATE <表名> SET <列名> = <表达式>; 更新部分数据行的搜索型UPDATE UPDATE <表名> SET <列名> = <表达式> WHERE <条件>; 多列更新:SET后使用逗号将列进行分隔排列 阅读全文

posted @ 2021-01-24 00:19 boiled_iron 阅读(2443) 评论(0) 推荐(0)

1 2 下一页