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语句,实现多表连接

相关推荐
特立独行的猫a38 分钟前
使用 Docker(Podman) 部署 MongoDB 数据库及使用详解
数据库·docker·podman
norsd41 分钟前
MongoDb user自定义 role 添加 action(collStats, EstimateDocumentCount)
服务器·数据库·mongodb
小猫猫猫◍˃ᵕ˂◍1 小时前
MongoDB快速上手(包会用)
数据库·mongodb
2301_旺仔1 小时前
mysqldump+-binlog增量备份
数据库·mysql
因特麦克斯3 小时前
MySQL基本架构&SQL语句在数据库框架中的执行流程&数据库的三范式
数据库·mysql·架构
2的n次方_3 小时前
【Redis】set 和 zset 类型的介绍和常用命令
数据库·redis·缓存
hunandede4 小时前
mysql 学习6 DML语句,对数据库中的表进行 增 删 改 操作
数据库·学习·mysql
一 乐6 小时前
基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·微信小程序·酒店管理系统
亦世凡华、6 小时前
MySQL--》日志与主从复制的实战技巧
数据库·经验分享·mysql·日志·主从复制
扎量丙不要犟6 小时前
rust如何操作sqlserver
数据库·sqlserver·rust·tiberius