SQL
OMax
行列之间,数观世界
展开
-
Hive在windows端的图形化连接工具安装使用
Hive官网上介绍过几种windows端的连接方式,本文主要介绍如何使用Oracle SQL Developer连接hive。1.下载并解压Oracle SQL Developer从 http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html下载并解压SQL Dev...原创 2020-02-08 12:41:18 · 662 阅读 · 0 评论 -
面向集合的思维编写SQL(7-量化万物的谓词-Exists)(上)
1.什么是谓词何为SQL中的谓词,我们常见的比较(=,<,>)、between、like、in、is null、exist等都是谓词;我们可以将它看作一种特殊的函数,函数的返回值都是三值逻辑(true、false、unknow),用来判断“命题”的真假;而这些谓词常用在where子句中,我们可以视其为多个谓词的组合,从“命题”的集合中(表),找出真命题(真值)。2...原创 2020-02-08 12:40:12 · 315 阅读 · 0 评论 -
Hive图形化连接工具
Hive官网上介绍过几种windows端的连接方式,本文主要介绍如何使用Oracle SQL Developer连接hive。1.下载并解压Oracle SQL Developer从 http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html下载并解压SQL Dev...原创 2020-02-08 11:00:57 · 2959 阅读 · 2 评论 -
面向集合的思维编写SQL(6-关系除法运算之新世界篇)
不知道宅在家里的各位亲有没有追一部《谁是小红袄》的剧...当然这个“追”字有点不严谨...因为剧情的速度都赶不上大家推理的速度...即使你只看了第1集,然后直接跳到第40集,也毫无违和感...那么关系除法又是什么呢?这里我们抛开数据库原理的讲解,从应用的角度讲一下何为关系除法:前言:关系除法经过之前的几片文章,我们知道数据库有并集、交集、差集、笛卡尔积运算,唯独没...原创 2020-02-08 09:42:15 · 169 阅读 · 0 评论 -
面向集合的思维编写SQL(5-数据去重)
1.场景与需求如下一张学生信息记录表,记录学生姓名、学生年级:数据中存在重复数据,需要清洗。2.SQL实现:(1)插入自增主键字段:处理结果如下:(2)使用except(3)使用not in...原创 2020-02-08 09:39:03 · 274 阅读 · 0 评论 -
面向集合的思维编写SQL(4-筛选相同行为的用户)
1.场景与需求如下图,id记录用户的编号,name记录用户的行为;当前场景进行用户分类,将相同行为的用户查询出来。2.SQL实现:3.SQL解读:由于SQL的执行优先级: from > where > group by > having >select > order by ;所以where 筛选集合中的元素,group by ...原创 2020-02-06 09:19:58 · 452 阅读 · 0 评论 -
面向集合的思维编写SQL(3-手动实现except与intersect)
集合论虽然是SQL语言的基础之一,但是在早期的SQL 却不能很好的支持集合运算。受这点影响,各大数据库的支持程度也是参差不齐。SQL Server 从 2005版(关系型数据库已经发展20多年了...)才开始支持 INTERSECT 和 EXCEPT ,而同一时间点MySQL还不支持(还列在中长期发展计划中...)。用下面这个例子,看一下SQL的集合运算:1.场景与需求如下两张表...原创 2020-02-06 09:18:33 · 167 阅读 · 0 评论 -
面向集合的思维编写SQL(2-移动累积值)
上一篇初步的介绍了一下面向集合思维编写SQL实现开窗函数的功能;在这里也稍微介绍一下另外一种编写SQL的思维—面向过程,例如Oracle的PL/SQL,作为一种过程化的语言,以赋值、条件分支、循环等作为基本处理单元,并将系统整体分割成很多这样的单元的思维方式,在我看来,这更偏向于开发工作者。确实Oracle和MSSQL这两种付费的数据库,有大量的高级函数去简化数据工作,这二者也广泛应用于商...原创 2020-02-06 09:14:50 · 161 阅读 · 0 评论 -
面向集合的思维编写SQL(1-手动实现开窗函数)
第一部分:初试集合思维1.场景与需求我们有如下的一列价格数据,现在有这样一个需求,对其实现RANK()排序:2.SQL实现:我先展示代码:查询结果如下:3.SQL解读:现在返回头看代码,括号中的SQL是计算rank排名的核心,也是面向集合思维的运用,我们用一张图来展示一下:同理若要实现DENSE_RANK(),仅仅修改一处即可,即:count(dis...原创 2020-02-05 20:50:17 · 172 阅读 · 0 评论