- 博客(622)
- 资源 (7)
- 收藏
- 关注
原创 实战 SQL:亚马逊、京东等电商平台的销售排行榜和飙升榜
以亚马逊、京东等电商平台的销售排行榜和销售飙升榜为实战案例,介绍了一些常用的 SQL 排名窗口函数(RANK、ROW_NUMBER等)和取值窗口函数(LAG、LEAD)的数据分析功能。
2020-07-23 22:36:58 8840 15
原创 实战 SQL:银行等金融机构可疑支付交易的监测
SQL 窗口函数(Window fuction)或者分析函数提供了强大的数据分析功能,我们介绍了一些聚合窗口函数的实际案例。SUM 函数常常用于计算历史累计值,COUNT 函数可以用于计算数据累计出现的次数,AVG 函数可以用于计算移动平均值。
2020-05-04 08:14:48 16321 33
原创 某电商销售数据分析 SQL 面试题解析
本文基于某电商销售数据分析 SQL 面试题,解析并给出了 MySQL 中的解决方法。依次使用了 GROUP BY 分组加聚合函数、HAVING 过滤和DISTINCT 去重、ORDER BY 排序加上 LIMIT 子句实现 Top-N 排行榜,以及窗口函数。
2020-04-22 21:56:53 12274 31
原创 SQL 面试题:WHERE 和 HAVING、ON 有什么区别?
SQL 中WHERE和HAVING的区别在于:WHERE子句在GROUP BY分组和聚合函数之前对数据行进行过滤;HAVING子句对GROUP BY分组和聚合函数之后的数据行进行过滤。SQL 中WHERE和ON的区别在于:对于内连接查询,WHERE和ON中的过滤条件等效;对于外连接查询,ON中的过滤条件在连接操作之前执行,WHERE中的过滤条件(逻辑上)在连接操作之后执行。
2020-04-09 07:42:16 14133 12
原创 实战 SQL:销售数据的小计/合计/总计以及数据透视表
介绍如何在 SQL 中利用聚合函数、GROUP BY 子句的 ROLLUP、CUBE 和 GROUPING SETS 选项以及 CASE 表达式实现类似 Excel 数据透视表的功能,通过展开、折叠、筛选、行列转换等操作得到不同层次和视角的数据小计/合计/总计。本文涉及的数据库包括 Oracle、MySQL、SQL Server 以及 PostgreSQL。
2020-04-02 18:19:18 8317 2
原创 实战 SQL:微信、微博等社交网络中的友好、粉丝关系分析
介绍如何将微信、微博这类图结构的社交网络数据使用邻接列表进行描述,并且最终存储为结构化的关系表。利用 SQL 语句中的 JOIN 连接查询、通用表表达式的递归查询等功能对其进行分析,发行其中隐藏的社交关系。这些方法适用于 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2020-03-28 13:09:07 17628 29
原创 实战 SQL:实现百度、高德等地图中的地铁换乘线路查询
本文介绍了一个 SQL 高级功能:通用表表达式(Common Table Expression),也就是 WITH 子句。CTE 可以提高复杂查询的性能和可读性,实现树状结构或者图数据的遍历。例如:生成数字序列;获取员工上下级的组织关系;查询地铁、航班换乘线路;社交网络图谱分析。
2020-03-19 22:48:36 7037 11
原创 SQL 编程思想:一切皆关系
关系模型定义了单一的数据结构:关系,也就是二维表。SQL 是一种面向集合的编程语言,它操作的对象是集合,操作的结果也是集合。在 SQL 中,一切皆关系。
2020-03-01 21:52:02 13705 27
原创 那些年我们踩过的坑,SQL 中的空值陷阱!
在数据库中,空值(NULL)是一个特殊的值,通常用于表示缺失值或者不适用的值。今天我们来详细讨论一下数据库中的空值问题,主要包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2019-12-31 07:31:17 13008 17
原创 MySQL 8.0 新特性之不可见主键
MySQL 8.0.30 版本引入了一个新的功能,叫做不可见主键(Generated Invisible Primary Keys),它可以自动为没有显式指定主键的 InnoDB 表创建一个不可见的主键。
2024-03-27 21:17:06 528
原创 五种主流数据库:分组统计
GROUP BY 子句可以对数据进行分组,结合聚合函数可以实现分组数据的汇总,同时HAVING 子句可以对分组后的数据再次进行过滤。本文比较五种主流数据库实现的分组统计功能,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-03-25 21:00:00 642
原创 五种主流数据库:数据汇总
汇总分析是数据报表中的基本功能,例如产品销售金额的汇总、学生的平均身高和标准差统计等。SQL 定义了聚合函数,可以实现数据的汇总分析。本文比较五种主流数据库支持的常见聚合函数,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-03-18 21:00:00 944
原创 为什么说PostgreSQL是面向对象的数据库?
面向对象编程(OOP)的三大特性包括数据封装、继承和多态,那么 PostgreSQL 作为对象-关系型数据库,有哪些面向对象的特性体现呢?
2024-03-14 21:00:00 2387 1
原创 五种主流数据库:条件表达式
SQL 条件表达式(CASE)可以基于不同条件产生不同的结果,实现类似于编程语言中的 IF-THEN-ELSE 逻辑处理功能。例如,根据员工的 KPI 计算相应的涨薪幅度,根据学生考试成绩评出优秀、良好、及格等。本文比较五种主流数据库条件表达式的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-03-11 21:00:00 567
原创 五种主流数据库:常用日期函数
日期函数用于操作日期和时间数据,例如获取当前日期、计算两个日期之间的间隔以及获取日期的部分信息等。本文比较五种主流数据库常用日期函数的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-03-04 21:00:00 491
原创 五种主流数据库:常用字符函数
SQL 字符函数用于字符数据的处理,例如字符串的拼接、大小写转换、子串的查找和替换等。本文比较五种主流数据库常用数值函数的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-02-26 21:00:00 2706
原创 五种主流数据库:常用数值函数
数值函数通常接收一个或者多个数字类型的参数,并且返回一个数值结果。本文比较五种主流数据库常用数值函数的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-02-20 21:00:00 1421
原创 五种主流数据库:排行榜与分页查询
默认情况下,查询语句会返回满足过滤条件的所有数据。但是,有些时候我们只需查看其中的部分结果,常见的这类应用场景包括 Top-N 排行榜和数据分页查询。本文比较五种主流数据库限定查询结果数量的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-02-04 21:00:00 842
原创 五种主流数据库:从无序到有序
SQL 查询不保证返回结果的顺序。如果我们想要按照某种规则对结果进行排序显示,例如按照工资从高到低进行排序,需要使用 ORDER BY 子句。本文比较五种主流数据库对查询结果排序的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-01-30 21:00:00 737
原创 五种主流数据库:排除重复结果
查询语句有可能会返回重复的数据,我们可以使用 DISTINCT 关键字排除查询结果中的重复记录。本文比较五种主流数据库排除重复查询结果的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-01-25 21:00:00 274
原创 PostgreSQL 17新特性:PL/pgSQL支持数组%TYPE以及%ROWTYPE
正在开发中的 PostgreSQL 17 即将增加一个新功能:PL/pgSQL 支持定义伪类型 %TYPE以及%ROWTYPE 数组。
2024-01-23 22:21:09 611
原创 五种主流数据库:复合查询条件
本文比较五种主流数据库对于复合查询条件的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-01-19 21:34:17 8330 7
原创 SQLite 3.45.0 发布!
SQLite 开发团队于 2024 年 01 月 18 日发布了 SQLite 3.45.0 版本,带来了一些 JSON 和优化器增强,让我们一睹为快!
2024-01-18 21:00:00 5518 2
原创 五种主流数据库:字符串匹配
本文比较五种主流数据库对于文本模糊查找的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-01-08 21:00:00 937
原创 五种主流数据库:查找空值
SQL使用IS NULL和IS NOT NULL查找空值。本文比较五种主流数据库对于空值查找的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2024-01-04 20:51:51 473
原创 PostgreSQL荣获DB-Engines 2023年度数据库
数据库流行度排名网站 DB-Engines 2024 年 1 月 2 日发布文章宣称,PostgreSQL 荣获 2023 年度数据库管理系统称号。
2024-01-03 09:06:19 4663 3
原创 五种主流数据库:实现数据过滤
SQL通过查询条件(WHERE)实现数据过滤,常用的查询条件有比较运算符、BEWTEEN、IN,它们在五种主流数据库中的实现一致。本文比较五种主流数据库数据过滤功能的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2023-12-28 21:00:00 964
原创 五种主流数据库:基本检索功能
本文比较五种主流数据库基本数据检索功能的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。
2023-12-25 21:41:21 917
原创 PostgreSQL 实现 Oracle 多表插入语句
Oracle 数据库提供了一个多表插入功能,也就是 INSERT ALL 语句。这个功能可以方便数据仓库中的 ETL 操作,基于不同逻辑将数据插入一个或者多个不同的表中。PostgreSQL 可以通过递归查询(WITH 语句)实现类似的功能。
2023-12-07 21:00:00 944 1
原创 PostgreSQL + SQL Server = WiltonDB
WiltonDB 是一个基于 PostgreSQL 的开源数据库,通过 Babelfish 插件支持 Microsoft SQL Server 协议以及 T-SQL 语句。
2023-11-27 21:05:38 1195
原创 SQLite 3.44.0 发布!
SQLite 开发团队于 2023 年 11 月 01 日发布了 SQLite 3.44.0 版本,带来了一些 SQL 和优化器增强,本文给大家做一个简要分分析。
2023-11-07 22:20:02 919
原创 PostgreSQL 17新特性之登录事件触发器
PostgreSQL 17 增加了基于登录事件的触发器,可以在用户登录时执行某些检查或者特定操作。登录事件触发器的使用方法和其他触发器一样:创建一个返回 event_trigger 的函数,然后基于 login 事件创建一个事件触发器。
2023-10-25 22:28:49 1055 1
原创 Oracle 云服务即将支持 PostgreSQL!
2023 年 9 月 19 日,Oracle 产品团队发布了一篇文章,宣布 Oracle 云基础架构(OCI)开始提供 PostgreSQL 服务。
2023-10-09 20:00:00 647
原创 SQLite 3.43.0 发布,又有啥新功能?
SQLite 开发团队于 2023 年 08 月 24 日发布了 SQLite 3.43.0 版本。本文给大家分析一下该版本的更新。
2023-08-29 20:00:00 6352
原创 《PostgreSQL 开发指南》第32篇 物化视图
物化视图(Materialized View)是 PostgreSQL 提供的一个扩展功能,它是介于视图和表之间的一种对象。
2023-08-18 20:51:10 1177
PostgreSQL 常用命令速查表.pdf
2020-09-30
MySQL 常用命令速查表.pdf
2020-09-25
SQL从入门到出门示例数据库SQLite脚本
2010-11-23
DSOFramer2.3.0.1源码
2010-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人