首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL知识点总结

我觉得对于SQL语句,清楚知道它执行顺序,对于写sql语句非常重要                                   sql查询中用到关键词主要包含六个,并且他们书定顺序依次为...重点(1):一旦为指定了别名,则在查询语句中其他地方,所有用到地方都要使用别名,而不能再使用原名。为指定别名格式:名|别名 (2)每连接一,就需要加一个JION子句。...(有分组和行过滤多表连接查询) 2、自连接 自连接是一种特殊内连接,他是指相互连接在物理上为同一,但可以在逻辑上分为两。...使用自连接时必须为取别名,使之在逻辑上称为两。...= ’刘晨’ ——查询与刘晨在同一个系学习学生姓名和所在系。

2.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

leetcode-for-sql-排名和窗口函数

LeetCode-178-分数排名 本文中带来是LeetCode-SQL第178题,讲解是关于MySQL排名问题,非常重要和实用一篇文章,真心建议搜藏保存: 题目介绍 分析思路 3种不同窗口函数...MySQL5 实现开窗函数 最初接触到SQL排名是在一名日本作者MICK写书中:《SQL进阶教程》,感兴趣可以认真阅读下,对SQL提升很有帮助。...s1.Score <= s2.Score group by s1.Id order by 2; -- 2表示第2个字段 代码解释为: 1、两相同分别命令为s1和s2 2、在给定s1.Score...不改变原有行数 窗口函数原则上只能写在select子句中 rank/dense_rank/row_number 在MySQL8.X或者hive中专用窗口函数有3个: rank:并列跳跃排名 dense_rank...,但是MySQL是没有的,下面介绍是如何在MySQL5 实现上面3个窗口函数功能。

24720

你真的会玩SQL吗?表表达式,排名函数

: 先建一栏目如下,栏目Id,栏目名称,栏目的父栏目 ?...,通过PARTITION BY选项来重新排序,给数据分区或者数据区域唯一递增序号 :LastName以‘A’开头作为第一组,在这个组内进行排序。...,Ranking列值将跳跃到正确排名数值。...从这个结果我们可以说这次马拉松赛跑排名是:Tengiz Kharatishvili,Zainal Arifin,Sean Chai,Karen Berge,Chris Norred并列第1,Michael...他在森林中目测两颗树之间距离,和护林员用卷尺测量结果相差无几。现在如果我们想从一抓取多比数据,每一笔都是相同数目,并且标明第几组该怎么办呢?NTILE函数提供了这个功能。

1.8K90

图解面试题:双11用户如何分析?

如下: 问题:生成一临时名:用户登录),呈现四列数据分别为:姓名,最后登录时间,登录时间排名,登录天数排名 要求: 1....就是《猴子 从零学会sql》里讲过:每个出现时候,就要想到是分组汇总。 表里能区分“每个人”是“姓名”,所以按“姓名”来分组(group by或者窗口函数partiotion  by)。...“登录天数排名”这一列:按天给出每个人登录次数,同一天多次登录认为是同一次,最早标记为1,之后以此类推。... by date_format( 最后登录时间,'%Y%m&d' ) asc) as 登录天数排名from 用户登录 ; 查询结果如下: 3.将得到2列合并到题目要求 查询代码如下: select...dense_rank函数,如果有并列名次行,不占用下一名次位置(即1,1,2,3);row_number函数:不考虑并列名次情况(即1,2,3,4)。

1.7K00

SQL语句汇总(三)——聚合函数、分组、子查询及组合查询

在SELECT嵌套: 学生信息和班级名称位于不同,要在同一查出学生学号、姓名、班级名称: SELECT s.student_id,s.student_name,(SELECT class_name...别名在子查询及联接查询应用有着很好效果,当两有相同列名或者为了加强可读性,给加上不同别名,就能很好区分哪些列属于哪。...还有种情况就是在子查询或联接查询时,主查询及子查询均为对同一进行操作,为主、子查询加上不同别名能够很好区分哪些列操作是在主查询中进行,哪些列操作是在子查询中进行,下文会有实例说明。...接下来回到上面的SQL语句中,可以看出本条子查询嵌套是在SELECT位置(括号括起来部分),它与学号、学生姓名以逗号分隔开并列在SELECT位置,也就是说它是我们想要查出一列, 子查询查出是,...`student_subject`=s2.student_subject); 这里就是上文提到别名第二种用法,主、子查询对同一操作,区分开位于内外表相同列名。 结果: ?

4.8K30

个人永久性免费-Excel催化剂功能第19波-Excel与Sqlserver零门槛交互-查询篇

,一个主题数据分散到多个内存储,底层表字段为英文名不友好,需要通过视图方式,把同一主题不同进行反规范化关联起来,订单数据,需关联订单主表+订单明细+商品资料+其他维度资料扩展(渠道、.../视图字段选择 选择要查询对应行,点击上图Sql查询】即可此【查询初始记录数】所定义记录到Excel(查询初始记录数是为了用户可以查询数据时,不会因返回数据量过大,Excel无法加载完成或加载速度慢而附加...不同数据使用场景,可能对同一/视图字段需求不一样,即同一份数据源其实可以多处分析场景使用到,一些不使用字段可以不选,减少从数据库查询过程数据传输负荷 同时IT人员可以多作展望性思考,把用户可能会用到字段都写到视图里...选择字段窗体,一般没什么特殊全选也行 通过Excel自动筛选功能,把所需数据筛选出来 因前面操作,此时仅返回所有数据前N条数据,数据量不全,所有数据是2011年至今数据,可能只显示了2011...条件查询语句,实现无需会写SQL一样可查询数据库 Excel自动筛选一般因数据类型分为三大类: 数字类 一般会用到大于、小于、不等于等条件对数据进行区间查询,要写两个并列条件,请使用自定义筛选 数据类筛选

2.3K20

PostgreSQL 与 MySQL:如何选择以及何时选择

本指南将探讨 PostgreSQL 和 MySQL 作为基于 SQL 查询构建 RDBMS 之间核心相似之处。然后,我们将根据性能、灵活性、规模和易用性等因素进行深入并列比较。...关系数据库和 SQL PostgreSQL 和 MySQL,在其核心上,都是构建在关系数据库基本原则之上关系型数据库管理系统。关系型数据库以结构化格式存储信息。...每张都是一个数据收集,组织成行和列,很像电子表格。 关系型数据库真正威力在于它们建立之间关系能力。这是通过键实现——主键唯一标识一行,外键将一个表链接到另一个。...这种通用性意味着 SQL 技能和知识可以在不同系统之间转移,包括 PostgreSQL 和 MySQL。...PostgreSQL 实际使用案例 电子商务平台: 在动态电子商务世界,管理具有复杂产品关系大量库存至关重要。PostgreSQL 拥有高级功能,自定义数据类型和高效写操作。

22410

wm_concat()和group_concat()合并同列变成一行用法以及和concat()合并不同列区别

wm_concat()这个个函数介绍,我觉得都介绍不是很完美,他们都是简单说 这个是合并列函数,但是我总结概括为:把同组同列字段合并变为一行(会自动以逗号分隔)。...现在我有一成绩,如图, stuid 同学学号 coursename 课程名称 score 课程成绩 说明一下,设计成绩时候,这里coursename最好是设计成...courseid,和课程去关联,但是这里我就是测试,为了更简单表达效果,所以这里暂时就以课程名称来设计了,希望大神不要喷我设计有问题哈,我数据库设计也还是挺厉害勒,嘿嘿,自恋一下。...问题:现在要将同一个同学所有课程成绩以一行展示,sql怎么写呢?...我们再优化一下SQL,将成绩也放进去 /*同一个同学课程+成绩*/ select stuid,wm_concat(coursename || '(' || score||')') from stu_score

6.7K50

敏感数据,“一键脱敏”,Sharding Sphere 完美搞定

在真实业务场景,数据库中经常需要存储某些客户关键性敏感信息:身份证号、银行卡号、姓名、手机号码等,此类信息按照规要求,通常需要实现加密存储以满足规要求。...痛点一 通常解决方案是我们书写SQL时候,把对应加密字段手动进行加密再进行插入,在查询时候使用之前再手动进行解密。...此方法固然可行,但是使用起来非常不便捷且繁琐,使得日常业务开发与存储细节紧耦合 注 意 文末有:3625页互联网大厂面试题 痛点二 对于一些为了快速上线而一开始没有实现规脱敏系统,如何比较快速使得已有业务满足规要求同时...其基本原理是对用户输入SQL进行解析拦截,并依靠用户脱敏配置进行SQL改写,从而实现对字段加密及加密字段解密。最终实现对用户无感加解密存储、查询。...,以下是一个例子,对于同一个数据源里两card_info,pay_order不同字段进行AES加密 private EncryptRuleConfiguration getEncryptRuleConfiguration

1.2K40

【玩转腾讯云】使用数据库Mysql如何避免删库跑路(数据丢失)

5 告知业务团队生产环境数据库已恢复正常 下面用2个案例说明第3步如何在腾讯云上恢复数据: 案例一:误删user一行或一列 假设删除发生在09点00分00.5秒,00秒到00.5秒业务程序有...(比如:误操作后没有马上意识到误操作了,或者误操作者和恢复者不是同一人),如果时间点选择在事故时间点之后,那么恢复出来数据还是错,如果时间点选择在事故时间点之前,但是离稍微远了些,那么后面补正常数据改动工作会比较大...对腾讯云建议3:数据对比出差异后希望有差异入新库表功能,可以是在成功写入日志中选择恢复时间点之后业务程序正常写入sql到新库批量执行。...当然更好交互方式是:放弃让用户选择回滚到哪个时间点,而是改为从成功写入日志中选择哪几条sql需要取消撤回(选中sql在恢复回放时会被过滤忽略掉,未选中按顺序全部执行),这种交互方式最后就不需要再做差异数据...案例二:误删整个库或者整 cdb3.png 对腾讯云建议5:如果是整库或整被误删,这时在选择库时无法操作,需要换个工具先建空库或空,操作被打断、不流畅,而且不熟悉用户可能不知道要这么操作

7.7K3326

敏感数据,实现“一键脱敏”!

来源:sourl.cn/uLCCPw 在真实业务场景,数据库中经常需要存储某些客户关键性敏感信息:身份证号、银行卡号、姓名、手机号码等,此类信息按照规要求,通常需要实现加密存储以满足规要求。...痛点一 通常解决方案是我们书写SQL时候,把对应加密字段手动进行加密再进行插入,在查询时候使用之前再手动进行解密。...痛点二 对于一些为了快速上线而一开始没有实现规脱敏系统,如何比较快速使得已有业务满足规要求同时,尽量减少对原系统改造。...其基本原理是对用户输入SQL进行解析拦截,并依靠用户脱敏配置进行SQL改写,从而实现对原文字段加密及加密字段解密。最终实现对用户无感加解密存储、查询。...创建脱敏配置规则对象 在创建数据源之前,需要准备一个EncryptRuleConfiguration进行脱敏配置,以下是一个例子,对于同一个数据源里两card_info,pay_order不同字段进行

1.9K20

MySQL 分库分与分区区别和思考

2.2 很多技术也运用到了编程思想,这里举几个例子,这些都是思想 TLAB(Thread Local Allocation Buffers),线程本地分配缓存。...FullGC之后进行压缩整理) 锁粗化,当JIT发现一系列连续操作都是对同一对象反复加锁和释放锁,会加大锁同步范围 kafka网络数据传输有一些数据配置,减少网络开销。...从上图我们可以看出,有2类型文件,.frm文件和.ibd文件 frm文件:结构文件 ibd文件:InnoDB,索引和数据都在同个文件.ibdata(你执行结果可能是.MYD索引文件和.MYI数据文件...分区定义存储在内部数据字典。 2.3 数据处理 分区后,提高了MySql性能。如果一的话,那就只有一个.ibd文件,一颗大B+树。...当一随着时间和业务发展,库里数据量会越来越大。

1.3K20

TiDB Ecosystem Tools 原理解读系列(三)TiDB-DM 架构设计与实现原理

当同步到下游 TiDB 后,希望所有的这 8 个最终都合并同步到同一。...但为了能将 8 个来自不同实例、不同库且有不同名同步到同一,首先要处理,就是要能根据某些定义好规则,将来自不同数据都路由到下游同一。...、名查询 trie 即可得到对应规则,并根据规则替换原 SQL 库名、名;通过向下游 TiDB 执行替换后 SQL 即完成了根据路由同步。... "table\_" 应用于 table\_3 时,表示去除前缀后剩下部分(数字 3)将以二进制形式作为前缀一部分添加到转换后。...[8.png] 在上图例子,分简化成了上游只有两个 MySQL 实例,每个实例内只有一个

1.3K30

如何对员工排名?

image.png 【题目】 雇员是员工基本信息: image.png 问题:查找按名字首字母升序排列后所在行数为奇数行雇员名字。...查询结果如下: 从上面的结果可以看出: rank函数:这个例子是5位,5位,5位,8位,也就是如果有并列名次行,会占用下一名次位置。...比如正常排名是1,2,3,4,但是现在前3名是并列名次,结果是:1,1,1,4。 dense_rank函数:这个例子是5位,5位,5位,6位,也就是如果有并列名次行,不占用下一名次位置。...比如正常排名是1,2,3,4,但是现在前3名是并列名次,结果是:1,1,1,2。 row_number函数:这个例子是5位,6位,7位,8位,也就是不考虑并列名次情况。...【举一反三】 学生是学生基本信息: image.png 问题:查找学号为偶数学生全部信息。

92500

选择:成本和安全?我都要!

透明数据加密常用于解决一些安全规问题,PCI DSS、等级安全保护等要求静态数据需要被保护场景。...PostgreSQL,pgcrypto是contrib下一个插件,它提供了一些加密解密函数,可以实现服务器端数据加密解密。用户可以在SQL语句中调用这些函数来完成数据加密和解密。...同一个策略可分配多个角色,并且通常角色成员关系和继承规则也适用。 行级安全策略可适用于在针对多个数据混合存储于同一内,又需要根据用户类型进行查看或者读写权限进行分类限制场景。...图:安全组配置指南 角色权限访问控制 在大企业,数据库资源面向不同业务提供服务,而不同业务隶属于不同小组或者部门,此时如何在统一账号下管理不同业务资源就成为了安全权限管理一大难题。...部署在私有网络 PostgreSQL实例默认只能被同一个私有网络 CVM 访问,若 CVM 与 PostgreSQL实例不在同一个私有网络,也可以通过申请外网方式进行访问,考虑到网络安全问题

1.3K30

一个关于执行计划小问题测试(r8笔记第60天)

最近有朋友在微信公众号后台留言提了一个问题,问题如下: 执行计划并列两条操作比如并列两条table access full,上层没有关联操作比如hash join,这是什么意思?...但是两sql是有等值连接,为什么执行计划没有提现连接方式呢? 然后他过了一会附了一操作截图。 ? 这个问题一下子看起来就比较清晰了。 为了简单复现这个问题,在本地做了一个小测试。...可以看到是可以复现这个朋友问题。这个时候从执行计划来入手,看到对于XS_XF走了全扫描,对于其中数据在BY_FS通过全扫描进行匹配。...KECHENG"=:B1) 在by_fs,会把外层xs_xf查询结果通过绑定变量方式传入,感觉其实和关联方式应该是一样情况。 而如果改为连接场景,可以轻松实现。...因为merge-sort join确实使用情况会相对比较少,在数据库是存在一个隐含参数来控制

60470

Spark SQL Catalyst 内部原理 与 RBO

[Spark SQL Parser] 从上图可见 查询涉及,被解析成了两个 UnresolvedRelation,也即只知道这们是两,却并不知道它们是 EXTERNAL TABLE 还是 MANAGED...TABLE,也不知道它们数据存在哪儿,更不知道它们结构如何 sum(v) 结果未命名 Project 部分只知道是选择出了属性,却并不知道这些属性属于哪,更不知道其数据类型 Filter...(json.score),并列出其各自包含字段名。...在物理上,Project 下推后,对于列式存储, Parquet 和 ORC,可在扫描时就只扫描需要列而跳过不需要列,进一步减少了扫描开销,提高了执行速度。...本例由于 score 数据量较小,Spark 使用了 BroadcastJoin。

1.3K60

Spark SQL Catalyst 内部原理 与 RBO

从上图可见 查询涉及,被解析成了两个 UnresolvedRelation,也即只知道这们是两,却并不知道它们是 EXTERNAL TABLE 还是 MANAGED TABLE,也不知道它们数据存在哪儿...,更不知道它们结构如何 sum(v) 结果未命名 Project 部分只知道是选择出了属性,却并不知道这些属性属于哪,更不知道其数据类型 Filter 部分也不知道数据类型 Spark SQL...(json.score),并列出其各自包含字段名。...由上图可见,分析后,每张对应字段集,字段类型,数据存储位置都已确定。Project 与 Filter 操作字段类型以及在位置也已确定。...在物理上,Project 下推后,对于列式存储, Parquet 和 ORC,可在扫描时就只扫描需要列而跳过不需要列,进一步减少了扫描开销,提高了执行速度。

79920
领券