不会写复杂SQL怎么办?

不会写复杂SQL怎么办?

太太太太太太太太巧了。。。。

我可能是数据分析界,最能理解从SQL入门 到 工作中写SQL中间就差着一个 "复杂SQL" 这句话的人了。当年为了写"复杂SQL", 真的是为了工作中写 "复杂SQL", 整整花了我 300大洋,求教了一个老鸟才彻底的把我的SQL能力惊醒了。

---- 分隔符----

为什么简单SQL会写 一到工作就废

如果我没有猜错,90%的人都看过下面这本SQL神书:

另外99%的人都用过下面这些SQL练习网站:

[

自学SQLwww.xuesql.cn/

sqlzoo练习网站,牛客网SQL面试题 。。。。

----- 非常非常不幸,我也是这些练习网站的重度用户----

比如这个:

自学SQL网(教程 视频 练习全套)xuesql.cn

我真的是从头到尾,把所有的练习题目过了一遍,感觉自身的SQL水平飞速上升。那感觉真的是没有哪个实际问题可以难倒我了。。

直到工作中遇到了 "复杂SQL", 才彻底败下阵来。

我就举一个例子:

好家伙,好像一切我见过的SQL知识点都用上了!但是我这个简单SQL的能力也彻底不知道怎么解释了。

幸好得到高人指点,最核心的一个思想是,不管多复杂的一个SQL,先要归结到最简单的SQL法则上。

凡是sql都分为,select,from,where 3段,你复杂的sql也是这3段。

只不过,复杂sql这3段都不简单,那既然这样,我们就把它分开来解决就好了。

比如上面的复杂sql,我们先解决from这一段,

你不要关心select 和 where的情况下,只关心这个from,并且想象一下这个from的联表之后生成了新的table,我们叫 t1吧。

这会,这条sql是不是一下就简单了。

把两个表连在一起,形成表t1,现在请你记住这个t1,我们的select 和 where操作都在t1上进行

你看,这个简单SQL就是做了几个统计,每一个函数拆开来是不是很简单

一个复杂sql其实都是由简单的部分组成,只要你按照这个方法一层层的拆解,你会发现复杂sql不过如此!

相关推荐
w-w0w-w5 小时前
SQL注入
网络·数据库·sql
tianyuanwo6 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
一条泥憨鱼6 小时前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络
IvorySQL6 小时前
深入 PostgreSQL WAL:从崩溃恢复到逻辑复制
数据库·postgresql
幽灵诶7 小时前
Mysql(基于测试的学习)
数据库·mysql
砚底藏山河7 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
宇宙无敌暴龙战士6668 小时前
MySQL 8 库表操作学习笔记:SQL 基础、库表管理、约束与用户授权全流程
数据库·sql·mysql·学习笔记·后端开发
猿究院_夏燊8 小时前
MySQL 的四种隔离级别
java·数据库·mysql
say_fall8 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
共享家95279 小时前
408 操作系统第一章
服务器·数据库·windows