SAS-数据集SQL水平合并

一、SQL水平合并基本语法

sql的合并有两步,step1:进行笛卡尔乘积运算,第一个表的每一行合并第二个表的每一行,即表a有3行,表b有3行,则合并后3*3=9行。笛卡尔过程包含源数据的所有列,相同列名会合并。Step2:根据需要在第一步的基础上进行数据的筛选。

分类包括:

内合并(inner join)

外合并(outer join):左连接(left join)、右连接(right join)、全连接(full join)

二、内合并

方法1:from +where

where one.x=two.x

列名不需要相同,one.x=two.y,但数据类型需要相同。

from:最多连接32张表。

方法2:from+inner on

用"table.column"选择需要保留的变量。若第一张表是主表,需保留第一张表的所有变量,可用"one.*"。

可以在select中进行变量重命名。

可以在from中进行表的重命名,as可加可不加,更名后可在其他语句中进行使用。

三、外合并

3.1 左连接

3.2 右连接

3.3 全连接

3.4 merge与sql的区别

与merge进行配对的逻辑不同,merge先按照by进行排序,然后从上到下进行匹配,保留符合匹配规则。sql的结果与merge结果不一致。

3.5 Coalesce

Coalesce:合并,既包括one的,也包括two的x。与merge结果一致。

四、复杂的sql语句示例

4.1 在select中进行运算


4.2 添加标签

4.3 Select嵌套

类似if条件句的判断

4.4 多表连接,多条件判定

4.5 一个proc sql select语句,实现多表连接

相关推荐
倔强的石头_20 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品
数据库
闲云野鹤在人间20 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
禾小西20 小时前
Redis:从两大维度和三大主线建立知识体系
数据库·redis·缓存
禾小西21 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?
数据结构·数据库·redis
数据库小学妹21 小时前
数据共享交换平台选型:交换方式对比与避坑指南
数据库·信创·数据同步·数据交换平台·政务数据共享·数据共享交换平台·数据库底座
要开心吖ZSH1 天前
MySQL 慢 SQL 排查操作手册-个人笔记版
java·笔记·sql·mysql·慢查询
loong_XL1 天前
决策模型做内容安全检测:从踩坑到上线
数据库·安全·jev·决策模型
这个DBA有点耶1 天前
数据库双轨并行实战:全量并行策略、增量延迟控制、双向回切与一致性校验
数据库·架构·dba
adinnet20261 天前
保单、赔付与渠道问数:保险经营数据如何实现按需查询
大数据·数据库·人工智能
云贝贝贝1 天前
PostgreSQL 分区表:从设计到运维,大表不再卡
运维·数据库·postgresql