常用SQL
基础
- 数据仓库:快照表、全照表、拉链表; 数据分层
SQL
图解 SQL 执行顺序,通俗易懂! sql 执行顺序:

pg sql PostgreSQL 9.3.1中文手册1.1版发布说明
- 3.关联表时出现null字段;
left join 注意以下可能出现的问题。关于Left join,你可能不知道这些......- 可能出现数据发散;一对多,多对多,
- 如何区分 where 和 on的条件,
- 实际应用中,left join 左表出现的null 如何处理;
is null
或者is not null
筛选null 值所在行。
Python3.9 merge 存在 null=null 关联

注意:full outer 不是笛卡尔积
-- FULL OUTER JOIN返回左表和右表中的所有记录。如果没有匹配,结果是 NULL。也就是说,它会返回左表和右表中所有的匹配记录,以及左表中的不匹配记录和右表中的不匹配记录。
-- 例如:
SELECT a.id, a.name, b.name
FROM user1 a
FULL OUTER JOIN user2 b ON a.id = b.id;
-- 在这个查询中,如果user1和user2中的某条记录在另一个表中没有匹配的记录,那么该记录的所有列仍然会出现在结果中,但是另一个表的所有列的值将会是NULL。
-- 而笛卡尔积,又称为交叉连接,会返回左表和右表中所有可能的记录组合。如果左表有m行,右表有n行,那么结果将会有m*n行。这是没有任何匹配条件的结果。
-- 例如:
SELECT a.id, a.name, b.name
FROM user1 a, user2 b;
-- 在这个查询中,每一条来自user1的记录都会和user2中的每一条记录组合在一起,形成结果。
- sql 递归 省、市、区
- 去重 SQL中 LEFT JOIN 左表合并去重实用技巧
- distinct
- groupby
基础
分组
排序
RANK() OVER (
PARTITION BY <expression>[{,<expression>...}]
ORDER BY <expression> [ASC|DESC], [{,<expression>...}]
)