首页 > 数据库 > 数据库开发技术 > 如何将SQL写成复杂逻辑 和构造数据
首先要建立一个概念,复杂的sql语句也是最基本的sql语句连接而成,所以最重要的是先要理清思路和逻辑,弄清自己要查哪几张表,要用哪几个字段,表之间如何关联,将这些弄清,然后由简单到复杂,从最基本的sql写起,通过找共同点,实现表关联等。
0.确定表:涉及到那些表的数据
确定字段:
确定根据业务需求连接方式等。-》分类迭代, 条件聚合
1.使用基本的查询逻辑
2。多使用函数,如nvl 处理,聚集函数
nvl 处理: 只有待替换的整列值都为空(null), 才能替换成自己想要的结果值。而我的性别字段有的值为null、有的值为Male、有的值为Female,所以用NVL()函数,没有效果。
聚集函数:多用统计,均值等
3.连接方式是取对应的相同数据集可,没有为空对等关系,但是左联则是不一样,以左为主,这是我下午错的原因。
内联方式,左连方式,满连接等:
多表关系:
平级关系
等值连接必须有相同的数值,否则记录为空,从这个角度来说join 还是很有优势的。
一般的业务查询都用这个吧。
层级关系:
-
select swjg_dm,swjg_mc,sj_swjg_dm,swjg_level
-
from extern_dm_swjg
-
connect
by prior swjg_dm
= sj_swjg_dm
-
start
with sj_swjg_dm
is
null
-
存在管理机构上下级关系的时候用
当数据都是完整的话,等值连接都是可以的,一般说来也不错,比较保险。
构造数据的方法:
主要还是分段累加,伪造数据,也么其他方法。
推荐阅读:
推荐阅读:
https://blog.csdn.net/itmyhome1990/article/details/16338637
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949806/viewspace-2906578/ ,如需转载,请注明出处,否则将追究法律责任。