随笔分类 - 数据库与SQL
摘要:写在前面 KISS keep it sweet and simple 表的设计 注意命名的意义 英文字母 + 阿拉伯数字 + 下划线"_" 属性和列 编程的方针 写注释 注意缩进 空格 大小写 逗号 不适用通配符( ) ORDER BY 不适用列编号,而是列名 SQL编程方法 请说普通话 不适用以来
        阅读全文
                
摘要:写在前面 SQL的性能优化是数据库使用者必须面对的重要问题,本节侧重SQL写法上的优化,SQL的性能同时还受到具体数据库的功能特点影响,这些不在本节讨论范围之内 使用高效的查询 参数是子查询时,使用EXISTS代替IN 使用EXISTS时更快的原因有一下两个 : 如果连接列(id)上建立了索引,那么
        阅读全文
                
摘要:写在前面 HAVING子句的处理对象是集合而不是记录 各队,全队点名 单重集合与多重集合 寻找缺失的编号:升级版 为集合设置详细的条件
        阅读全文
                
摘要:写在前面 关系模型的数据结构里,并没有 顺序 的概念,但SQL处理有序集合也有坚实的理论基础 生成连续编号 求全部的缺失编号 三个人能坐得下吗? 最多能坐下多少人 单调递增和单调递减 小结 SQL处理数据的方法有两种 第一种把数据看成忽略了顺序的集合 第二种把数据看成有序的集合,此时的基本方法如下:
        阅读全文
                
摘要:写在前面 支撑SQL和关系数据库的基础理论: 数学领域的集合论 和 逻辑学标准体系的谓词逻辑 理论篇 什么是谓词?谓词是返回值为真值( true false unknown )的函数 关系数据库里,每一个行数据可以看作是一个命题 实体的阶层 0阶实体(单行) 1阶谓词( = between and)
        阅读全文
                
摘要:写在前面 集合论是SQL语言的根基,因为这种特性,SQL也被称为面向集合语言 导入篇:集合运算的几个注意事项 注意事项1:SQL能操作具有重复行的集合(multiset、bag),可以通过可选项ALL来支持 SQL的集合运算符提供了允许重复和不允许重复两种用法,UNION和INTERSECT结果里不
        阅读全文
                
摘要:写在前面 使用SQL对同一行数据进行列间的比较很简单,只需要在WHERE子句里写上比较条件就可以了, 对于不同行数据进行列间比较需要使用自关联子查询 。 增长、减少、维持现状 需要用到行间比较的经典场景是时间序列分析 用列表展示与上一年的比较结果 移动累计值和移动平均值 小结 关联子查询的缺点 :代
        阅读全文
                
摘要:写在前面 SQL本身是作为一种数据提取工具而出现, 使用SQL生成各种定制化报表和非定制化报表并非SQL原本用途的功能 ,但这并不意味着SQL无法实现这些功能。 用外连接进行行列转换(1)(行 → 列):制作交叉表 用外连接进行行列转换(2)(列 → 行):汇总重复项于一列 在交叉表里制作嵌套式表侧
        阅读全文
                
摘要:写在前面 SQL是面向集合的语言,与面向过程和面向对象语言都不一样 寻找缺失的编号 新的SQL标准里HAVING可以单独使用 用HAVING子句进行子查询:求众数 用HAVING子句进行自连接:求中位数 查询不包含NULL的集合 COUNT函数的使用方法有COUNT( )和COUNT()两种,区别在
        阅读全文
                
摘要:写在前面 普通编程语言里的布尔型只有true和false两个值,这种逻辑体系被称为二值逻辑,而SQL语言里,还有第三个值unknown,因此SQL的逻辑体系被称为三值逻辑。 Why SQL存在三值逻辑? Because of NULL 理论篇 两种NULL、三值逻辑还是四值逻辑 两种NULL:分别指
        阅读全文
                
摘要:写在前面 一般地,SQL的连接运算根据其特征的不同,有着不同的名称,比如内连接、外连接、交叉连接等,这些连接大多是以不同的表或视图为对象进行的,针对相同的表进行的连接成为自连接。理解自连接有助于我们理解SQL面向集合的语言特性。 可重排列、排列、组合 删除重复行 排序 sql 练习题 1 2 2 分
        阅读全文
                
摘要:窗口函数 What's 窗口函数? 窗口函数也称为OLAP(OnLine Analytical Processing)函数,目前MySQL还不支持。 窗口函数的语法 能够作为窗口函数使用的函数 能够作为窗口函数的聚合函数(SUM、AVG、COUNT、MAX、MIN) RANK、DENSE_RANK、
        阅读全文
                
摘要:配置环境: 下载地址:https://www.enterprisedb.com/downloads/postgres postgresql downloads windows 使用数据库: 写在前面 CASE表达式是从SQL 92标准引入的,强烈建议将MySQL的IF、Oracle的DECODE用C
        阅读全文
                
摘要:SQL基础教程(Mick) 数据库和SQL 数据库的基本概念 数据库(DB) :将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合 数据库管理系统(DBMS) :用来管理数据库的计算机系统 DBMS的重要性 :(文本文件和电子表格无法做到) 无法多人共享数据 无法提供操作大量数据所需
        阅读全文
                
                    
                
浙公网安备 33010602011771号