自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tony.Dong的专栏

大家好!我是只谈技术不剪发的Tony老师,一个专注于数据库领域的分享者。

  • 博客(332)
  • 资源 (6)
  • 论坛 (6)
  • 收藏
  • 关注

原创 实战 SQL:亚马逊、京东等电商平台的销售排行榜和飙升榜

以亚马逊、京东等电商平台的销售排行榜和销售飙升榜为实战案例,介绍了一些常用的 SQL 排名窗口函数(RANK、ROW_NUMBER等)和取值窗口函数(LAG、LEAD)的数据分析功能。

2020-07-23 22:36:58 5322 9

原创 实战 SQL:银行等金融机构可疑支付交易的监测
原力计划

SQL 窗口函数(Window fuction)或者分析函数提供了强大的数据分析功能,我们介绍了一些聚合窗口函数的实际案例。SUM 函数常常用于计算历史累计值,COUNT 函数可以用于计算数据累计出现的次数,AVG 函数可以用于计算移动平均值。

2020-05-04 08:14:48 12803 25

原创 某电商销售数据分析 SQL 面试题解析
原力计划

本文基于某电商销售数据分析 SQL 面试题,解析并给出了 MySQL 中的解决方法。依次使用了 GROUP BY 分组加聚合函数、HAVING 过滤和DISTINCT 去重、ORDER BY 排序加上 LIMIT 子句实现 Top-N 排行榜,以及窗口函数。

2020-04-22 21:56:53 6686 15

原创 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 7195 10

原创 实战 SQL:销售数据的小计/合计/总计以及数据透视表
原力计划

介绍如何在 SQL 中利用聚合函数、GROUP BY 子句的 ROLLUP、CUBE 和 GROUPING SETS 选项以及 CASE 表达式实现类似 Excel 数据透视表的功能,通过展开、折叠、筛选、行列转换等操作得到不同层次和视角的数据小计/合计/总计。本文涉及的数据库包括 Oracle、MySQL、SQL Server 以及 PostgreSQL。

2020-04-02 18:19:18 4241 1

原创 实战 SQL:微信、微博等社交网络中的友好、粉丝关系分析
原力计划

介绍如何将微信、微博这类图结构的社交网络数据使用邻接列表进行描述,并且最终存储为结构化的关系表。利用 SQL 语句中的 JOIN 连接查询、通用表表达式的递归查询等功能对其进行分析,发行其中隐藏的社交关系。这些方法适用于 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。

2020-03-28 13:09:07 13111 24

原创 实战 SQL:实现百度、高德等地图中的地铁换乘线路查询
原力计划

本文介绍了一个 SQL 高级功能:通用表表达式(Common Table Expression),也就是 WITH 子句。CTE 可以提高复杂查询的性能和可读性,实现树状结构或者图数据的遍历。例如:生成数字序列;获取员工上下级的组织关系;查询地铁、航班换乘线路;社交网络图谱分析。

2020-03-19 22:48:36 3493

原创 SQL 编程思想:一切皆关系
原力计划

关系模型定义了单一的数据结构:关系,也就是二维表。SQL 是一种面向集合的编程语言,它操作的对象是集合,操作的结果也是集合。在 SQL 中,一切皆关系。

2020-03-01 21:52:02 10192 21

原创 那些年我们踩过的坑,SQL 中的空值陷阱!

在数据库中,空值(NULL)是一个特殊的值,通常用于表示缺失值或者不适用的值。今天我们来详细讨论一下数据库中的空值问题,主要包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。

2019-12-31 07:31:17 7482 11

原创 SQLite 文档存储攻略

本文介绍了 SQLite 中的文档存储功能。我们可以借助于 json1 扩展插件提供的 JSON 函数实现文档数据的存储以及 JSON 文档和 SQL 数据的相互转换,同时还可以利用 SQLite 表达式索引和生成列为 JSON 数据提供索引支持,从而将 SQLite 作为一个文档数据库使用。

2020-12-02 15:01:45 740 1

原创 SQLite 表达式索引的概念和作用

本文介绍了如何使用 SQLite 中的表达式索引(Indexes On Expressions)优化 SQL 查询语句的性能,以及实现特定的业务约束。表达式索引是指基于某个表达式或者函数的值创建的索引,而不是基于表中字段创建的索引。

2020-11-29 21:23:40 1731 1

原创 全面解析 Oracle Database 20c 数据库技术架构

本文详细介绍了 Oracle Database 20c 数据库的最新技术架构,包括数据库服务器整体架构、数据库实例中的内存和进程结构、数据库文件的物理结构。

2020-11-25 17:52:06 3049 5

原创 Microsoft SQL Server 如何隐藏客户姓名、手机号或者身份证号中的部分信息

本文介绍了如何利用 Microsoft SQL Server 中的 CASE 表达、len、left、right、stuff、concat 等字符串函数实现信息的隐藏,也就是将其中部分内容显示为星号(*)。具体案例包括姓名、手机号、身份证号以及银行卡号等个人敏感信息的保护。

2020-11-22 11:26:44 135 2

原创 Oracle 模拟部分索引提高查询性能

本文介绍了如何利用 Oracle 索引不包含 NULL 值的特性模拟部分索引(partial index)的功能,从而优化特定条件的查询语句,同时减少索引占用的磁盘空间。

2020-11-18 12:07:46 64

原创 《Oracle 入门教程》第 06 篇 排序显示

默认情况下,Oracle 不会对查询返回的结果进行排序,我们可以使用ORDER BY 子句指定数据的显示顺序。本篇介绍了升序和降序排序、基于单个字段排序、基于多个字段排序、基于表达式排序、空值的排序顺序以及中文排序问题。

2020-11-15 21:39:52 98 1

原创 PostgreSQL 数据库跨版本升级常用方案

本文介绍了 PostgreSQL 数据库版本升级的 3 种常用方案,包括通过 pg_dump/pg_dumpall 逻辑备份与还原进行升级,利用 pg_upgrade 工具进行升级,使用逻辑复制功能进行升级。了解它们的优缺点和适用场景可以帮助我们选择最佳的升级方式。

2020-11-12 10:44:28 5770 6

原创 《Oracle 入门教程》第 05 篇 数据过滤

本篇我们讨论了如何利用WHERE子句返回满足条件的数据,包括比较运算符、LIKE模式匹配、IS NULL空值判断以及AND、OR、NOT逻辑运算符,同时还介绍了使用DISTINCT去除结果中的重复数据。

2020-11-09 21:30:57 171 1

原创 SQLite 初学者注意事项

SQLite 是一个嵌入式数据库引擎,它的实现和其他关系型数据库存在一些不同之处。包括可选的灵活数据类型、默认不启用外键约束、主键可能包含空值、汇总查询中可以使用非 GROUP BY 字段、默认不支持完整的 Unicode 字符大小写转换、双引号字符串可以作为常量、关键字通常可以用作标识符、输入不可靠 SQL 语句时不会产生错误或警告、AUTOINCREMENT 和 MySQL 实现不同、字符串中允许存在 NUL 字符。

2020-11-08 12:21:37 1726 4

原创 Microsoft SQL Server 数据库体系结构图解

本文详细介绍了 Microsoft SQL Server 数据库的体系结构以及各个组件的功能。包括整体结构,协议层中的TCP/IP协议、共享内存协议、命名管道协议以及TDS协议、关系引擎中的命令解析器、查询优化器、查询执行器,存储引擎中的访问方法、缓冲管理器、事务管理器,数据文件以及日志文件。

2020-11-05 11:27:21 2365 6

原创 《Oracle 入门教程》第 04 篇 简单查询语句

本篇介绍如何在 Oracle 中使用 SELECT 语句查询单个表中的数据,包括查询指定的字段、查询全部字段、使用表达式或者函数、通过列别名设置字段标题以及在查询语句中使用注释。

2020-11-02 21:35:13 1024 7

原创 利用 PostgreSQL 部分索引提高查询语句的性能

在 PostgreSQL 数据库中,部分索引(partial index)是指对表中满足特定条件的数据行进行索引。由于它不需要对全部数据进行索引,因此索引会更小,在特定场景下通过部分索引查找数据时性能会更好。另外,部分索引还可以用于实现其他的功能。例如,我们可以将索引 partial_idx 定义为唯一索引,从而实现每个用户只能存在一个未完成订单的约束。

2020-11-01 21:37:22 2288 8

原创 《Oracle 入门教程》第 03 篇 Oracle 数据库安装

本篇介绍 Windows 10 平台上如何安装 Oracle 19c 数据库,使用 SQL Plus 连接数据库以及专栏使用的示例表和初始化数据的创建。

2020-10-29 22:25:31 1554 9

原创 MySQL 如何隐藏客户姓名、手机号或者身份证号中的部分信息

介绍如何利用 MySQL 字符串函数将用户姓名、手机号、身份证号以及银行卡号等的部分内容显示为星号(*),从而实现信息的隐藏,保护信息安全。

2020-10-28 21:40:29 341 3

原创 机器学习选择 Python 还是 R 语言?要不直接用 SQL 吧!

本文介绍了如何利用 MindsDB 机器学习平台编写 SQL 语句实现预测模型,可以看出这种方式非常简单易用。MindsDB 还提供了一个图形用户界面 Scout,意味着可以直接在页面点击完成模型的训练和预测。除了使用 SQL 语句之外,MindsDB 同样支持编写 Python 或者 Javascript 代码创建预测模型。

2020-10-27 21:19:03 1956 7

原创 Oracle PL/SQL 源代码加密实战

本文介绍了如何通过 wrap 实用工具和 DBMS_DDL 子程序对 Oracle PL/SQL 源代码加密,交付应用时隐藏源码和细节,同时防止发布出去的代码被篡改,提高 PL/SQL 代码的安全性。

2020-10-26 12:39:04 719 7

原创 《Oracle 入门教程》第 02 篇 Oracle 简介

本文介绍了关系型数据库的基本概念、Oracle 数据库的历史和功能特性以及 SQL 语言和 Oracle PL/SQL 扩展。

2020-10-24 22:29:32 717 4

原创 SQL 优化极简法则,还有谁不会?

SQL 查询优化是一个复杂的工程,涉及从硬件到参数配置、不同数据库的解析器、优化器实现、SQL 语句的执行顺序、索引以及统计信息的采集等,甚至应用程序和系统的整体架构。本文介绍几个关键法则,可以帮助我们编写高效的 SQL 查询;尤其是对于初学者而言,这些法则至少可以避免我们写出性能很差的查询语句。

2020-10-23 11:38:53 16789 51

原创 PostgreSQL 生成随机数字、字符串、日期、验证码以及 UUID

本文介绍了在 PostgreSQL 中生成随机数据的方法,包括随机数字、验证码、随机字符串以及随机日期和时间等,同时还介绍了如何从表中返回随机记录,以及如何生成 UUID。

2020-10-22 17:26:07 243

原创 《Oracle 入门教程》第 01 篇 专栏介绍

欢迎来到我的专栏《Oracle 入门教程》!本专栏主要面向 Oracle 数据库的初学者,包括初级 DBA 、数据库工程师以及数据分析师以及相关人员。专栏主要内容包括:Oracle 介绍、Oracle 安装、SQL 查询语句、常用函数、DML 语句,以及一些高级功能,例如通用表表达式、窗口函数、数据库事务、索引优化、视图、同义词、序列、PL/SQL存储过程、触发器,Oracle系统结构、用户和角色、表空间与表的维护、临时表、数据库链接、数据库的备份与恢复、以及应用程序接口等。

2020-10-21 09:55:30 2740 12

原创 SQLite 命令行客户端 sqlite3 使用指南

本文介绍了 SQLite 命令行客户端 sqlite3 的下载安装以及使用方法,包括数据库的管理、模式对象的查看、sqlite3 的各种设置、脚本的执行和查询结果的导出、SQLite 归档功能、读写二进制文件、执行操作系统命令等。

2020-10-20 12:27:09 737 6

原创 PostgreSQL 数据加密之 pgcrypto

PostgreSQL 扩展模块 pgcrypto 提供了单向加密算法 MD5、SHA、HMAC ,PGP 双向加密算法 Blowfish、AES、DES 等,可以用于实现数据的加密和解密。本文介绍了这个模块的安装、函数的使用以及实际案例,包括用户密码加密、信用卡号的加密与解密。

2020-10-16 16:22:50 1890 9

原创 SQL 中的昨天、今天和明天

本篇给大家介绍一下 SQL 获取系统日期的内置函数,日期加减运算的函数和操作符,以及不同数据库中的扩展实现,包括:MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite 数据库。

2020-10-14 12:28:16 2017 3

原创 《MySQL 入门教程》第 35 篇 PHP 访问 MySQL

本篇介绍如何利用 PHP 数据对象(PDO)接口连接 MySQL 数据库,创建和删除表、执行数据的增删改查操作、事务的管理以及调用存储过程和函数。

2020-10-12 21:45:21 1237 6

原创 sqlbench:一个测量和比较 SQL 语句执行效率的工具

sqlbench 是一个使用 Go 语言开发的 SQL 性能测试工具,主要用于开发环境中不同 SQL 语句执行效率(CPU)的测量和比较。sqlbench 遵循 MIT 开源协议,支持 Windows、Linux 以及 macOS 平台,目前支持 PostgreSQL 数据库。

2020-10-10 09:33:18 462 1

原创 一个关于 SQL 别名的面试题

SQL 支持表别名和列别名,在 SQL 语句中别名的优先级比同名的表名和字段名更高。进一步来说,SQL 和其他编程语言一样,作用域或者生命周期越小的标识符在有效范围内的优先级越高。

2020-10-09 16:04:10 5023 7

原创 《MySQL 入门教程》第 34 篇 计划任务

MySQL 支持定时执行的计划任务,类似于 Unix crontab 或者 Windows 定时任务,被称为事件(Event)或者计划事件。事件是一个存储在数据库服务器中的 SQL 程序,在指定的时间范围内定期执行,调度和执行事件的服务被称为事件调度器(Event Scheduler)。MySQL 使用 CREATE EVENT 语句创建计划事件,使用 SHOW EVENTS 语句查看计划事件,使用 ALTER EVENT 语句修改计划事件,使用 DROP EVENT 语句删除计划事件。

2020-10-07 22:16:43 408 2

原创 《MySQL 入门教程》第 33 篇 触发器

MySQL 触发器(trigger)是一种存储程序,它和一个指定的表相关联,当该表中的数据发生变化时自动执行。MySQL 支持行级 INSERT、UPDATE 和 DELETE 触发器,可以在触发事件之前或者之后执行,分别称为 BEFORE 触发器和 AFTER 触发器。MySQL 使用 CREATE TRIGGRT 创建触发器,通过 SHOW TRIGGERS 或者系统表 INFORMATION_SCHEMA.TRIGGERS 查看触发器信息,使用 DROP TRIGGER语句删触发器。

2020-10-06 22:07:26 2058 4

原创 PostgreSQL 数据库中 DISTINCT 关键字的 4 种用法

本文介绍了 PostgreSQL 数据库中 DISTINCT 关键字的 4 种不同用法,包括 SELECT DISTINCT、DISTINCT ON、IS DISTINCT FROM 以及聚合函数中的 DISTINCT 选项。

2020-10-02 21:14:24 2741 3

原创 PostgreSQL 13 新特性之 FETCH FIRST WITH TIES

PostgreSQL 13 实现了 FETCH FIRST 子句的 WITH TIES 选项,可以用于返回更多排名相同的数据行。

2020-10-01 00:11:21 2101 2

原创 《MySQL 入门教程》第 32 篇 存储过程(二)

本篇详细介绍了 MySQL 存储过程和函数中的编程功能,包括变量、条件控制语句、循环控制语句、错误处理、游标的使用以及访问权限控制。

2020-09-29 22:49:28 4481 6

SQL窗口函数速查表.pdf|SQL窗口函数速查表.pdf

文件是 SQL 窗口函数速查表,提供了关于窗口函数的语法定义和各个选项的介绍,同时还提供了常用窗口函数的作用以及使用方法。

2020-10-30

PostgreSQL 常用命令速查表.pdf|postgresql速查表.pdf

PostgreSQL 常用命令和语句查询表,包括 psql 客户端工具使用、数据库和模式管理、用户和权限管理、表管理、表空间管理、索引、查询语句、DML 语句、事务控制、视图、存储过程/触发器、备份恢复等。

2020-09-30

MySQL 常用命令速查表.pdf|mysql速查表.pdf

MySQL 常用命令和语句查询表,包括 mysql 客户端工具使用、数据库管理、用户和权限管理、表管理、索引、查询语句、DML 语句、事务控制、视图、存储过程/触发器、备份恢复等。

2020-09-25

DSOFramer2.3.0.1源码

///////////////////////////////////////////////////// Issued by dxHe on Jun 19,2008 Fuzhou Fujian China(Surrex China) Lastest version: 2.3.0.0 Prior version: 2.2.1.2 ///////////////////////////////////////////////////// dsoframer.ocx 2.3.0.0 Release comments: 1、增加对OFFICE2007的支持 2、删除2个文件:msword9.h/msword9.cpp ///////////////////////////////////////////////////// Issued by jiangzuixian on sep 19,2009 nanning Guangxi China Lastest version: 2.3.0.1 Prior version: 2.3.0.0 ///////////////////////////////////////////////////// dsoframer.ocx 2.3.0.1 Release comments: 1、解决保存WORD2007文档文件被删的BUG! 2、默认打开文件类型增加OFFICE2007文件后缀:*.docx;*.xlsx;*.pptx

2010-11-09

SQL 速查表.pdf

关系数据库通用语言 SQL 的常用命令速查表,包括查询语句、DML 数据操作语句、DDL 数据定义语句。

2019-06-04

SQL从入门到出门示例数据库SQLite脚本|SQLite.zip

SQL从入门到出门示例数据库SQLite脚本,文档参考https://blog.csdn.net/horses/article/details/80066428

2018-05-11

SQL 常见面试题解析

发表于 2019-08-29 最后回复 2020-08-18

SQL 常见面试题

发表于 2019-08-29 最后回复 2019-08-29

NB的错误!!!

发表于 2012-08-22 最后回复 2012-08-22

Oracle10g OCP题库问题Testinside1Z0-047V2.23

发表于 2011-07-05 最后回复 2011-07-27

MFC环境下OpenGL的编译问题

发表于 2007-11-07 最后回复 2011-05-19

请求高人一个C++程序问题!

发表于 2007-03-05 最后回复 2007-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除