
SQL
文章平均质量分 91
遇君行
天道酬勤,业道酬精。
展开
-
PostgreSQL 的时间差DATEDIFF
PostgreSQL 的时间差DATEDIFF原创 2022-11-18 18:06:04 · 19549 阅读 · 0 评论 -
left join on +多条件与where区别
本文将通过几个例子说明两者的差别。表1:productid amount 1 100 2 200 3 300 4 400 表2:product_detailsid weight exist 2 22 0 4 44 1 5 55 0 6 66 1 1. 单个条件select * from product aleft join product_details b原创 2020-11-20 15:25:21 · 185 阅读 · 0 评论 -
MySQL,SQLServer,Oracle迁移到PostgreSQL数据库
使用Navicat Premium15工具迁移步骤;1.选择数据传输2.填写数据库源和目标3.设置相关选项;为了避免pgsql对于字段名或者表名中大小写问题(因为pgsql在sql的prepare时候会将大写转为小写,所以如果你的table_name或者column_name中存在大写字母,并且你的sql中没有将其用双引号“”包裹起来的时候,就会导致查询不到或者表不存在等情况)因此我选择转化对象名为小写;4.最后选择你要迁移的表,然后点击下一步等待迁移完成;附加:Post原创 2020-11-18 17:25:43 · 1013 阅读 · 0 评论 -
Oracle 父子树形表,根据父节点查询所有子节点,根据子节点查询所有父节点;
创建表: create table Dept( DepartNO varchar2(10), DepartName varchar2(20), TopNo varchar2(10) ); 示意数据: insert into Dept values('001','董事会',''); insert into Dept values('002','总裁办 ','001'); insert into Dept values('003',...原创 2020-09-02 16:45:00 · 698 阅读 · 0 评论 -
关系代数运算详细解释
关系代数运算关系代数的运算是一种数学运算,你主要功能是通过这种数学运行来指导数据库在关系操作上的程序实现。如图所示,下面是关系代数的操作,上面是对应的SQL语句。如果我们熟悉关系代数的操作那么就很容易写出复杂的SQL语句了。关系代数的操作对关系进行运算时,我们可以采用对待集合的方式来操作,这些操作被称为集合操作。其他的一些操作不能在集合上使用,那么被成为纯关系操作。对于集合操作中U,∩,-操作需要满足并相容性并操作举例差运算举例...原创 2020-06-05 17:36:35 · 6731 阅读 · 0 评论 -
SQL生成0-9和A-Z的流水号
我的案例是生成2位数0-9和A-Z的流水号,可以根据自己的需要生成N位数的流水号;原创 2020-03-30 11:17:53 · 1114 阅读 · 2 评论 -
SQL Server性能分析——SQL Server索引中的碎片和填充因子
简介 在SQL Server中,存储数据的最小单位是页,每一页所能容纳的数据为8060字节.而页的组织方式是通过B树结构(表上没有聚集索引则为堆结构,不在本文讨论之列)如下图: 在聚集索引B树中,只有叶子节点实际存储数据,而其他根节点和中间节点仅仅用于存放查找叶子节点的数据. 每一个叶子节点为一页,每页是不可分割的. 而SQL Server向每个页内存储数...转载 2019-04-18 11:18:57 · 457 阅读 · 0 评论 -
Mybatis插件分页,性能最佳选择;
Mybatis插件分页,性能最佳选择看此链接:https://blog.youkuaiyun.com/chenbaige/article/details/72084481原创 2019-03-15 09:14:54 · 2794 阅读 · 0 评论 -
union all对查询结果为NULL的不会去重,对于查询条件查询结果为null 的union all查询,结果为NULL会去重;
问题背景:一个同事问我,union all 不是不去重吗?为什么我昨天查还是对的,今天查询就错了;然后我说查询条件不对,他认为是因为union all对查询结果为NULL去重了;问题论点:union all对查询结果为NULL会去重吗?验证猜想:union all对查询结果为NULL不会去重1.首先我拿一个为null的字段进行union all ;2.得出验证结...原创 2018-12-26 11:22:15 · 6975 阅读 · 0 评论 -
Mycat使用的原则
Mycat是一个开源的数据库中间件。在业务和数据库中间提供的代理层,介于数据库与应用之间,进行数据处理与交互的中间服务,其核心功能分库分表。1.mycat原理 Mycat接收前段对数据库对访问请求,是通过模拟MySQL协议的接口实现的。在前端同Mycat建立会话连接后,将请求的SQL发给Mycat后,mycat并不是直接交由数据库处理。而是对sql进行拦截后,进行解析优化、分片分...原创 2018-10-09 17:01:33 · 312 阅读 · 0 评论 -
SQL 语句性能分析(Explain命令解释)
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explain select … from … [where ...]例如:explain select * from news;输出:+----+----...原创 2018-08-16 14:00:41 · 848 阅读 · 0 评论