暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL中的表连接

数据怎么玩 2021-11-23
1397

有如下两张表A和B,分别有c列和d列:



一、上下拼接:union 和 union all


SQL中,union 和 union all 操作符用于合并两个或多个 select 语句的结果集。


注意:union 或 union all 内部的 select 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 select 语句中的列的顺序必须相同。


另外,union 结果集中的列名总是等于 union 中第一个 SELECT 语句中的列名。



区别:使用 union 上下拼接时,所有的列如有重复数据会进行去重;而 union all 不会进行去重,会列出所有的值。


1、select A.c as e from A union select B.d as e from B


2、select A.c as e from A union all select B.d as e from B


二、左右连接:inner join、left join、right join、outer join




SQL中,joinl 操作符用于左右连接两个或多个 select 语句的结果集。


left join:以左表为主表,右表中可以匹配则返回对应数据,无法匹配则为空,返回左表所有的行

right join:以右表为主表,左中可以匹配则返回对应数据,无法匹配则为空,返回右所有的行

inner join:两表取交集,只要两表中有至少一个匹配即可,最终返回两表共有的行

outer join:两表取并集,只要其中一个表中存在匹配即可,最终返回两表所有的行


1、select A.c,B.d from A inner join B on A.c=B.d


2、select A.c,B.d from A left join B on A.c=B.d


3、select A.c,B.d from A right join B on A.c=B.d


4、select A.c,B.d from A outer join B on A.c=B.d


~

文章转载自数据怎么玩,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论