UNION JOIN 连接表

使用UNION JOIN进行多表连接,与9.3节介绍的各种表的连接类型不同,它并不对表中的数据进行任何匹配处理,而只是把来自一个源表中的行与另一个源表中的行联合起来,生成的结果表中包括第一个表中的所有行和列和另一表中的所有行和列。缺少的属性值用NULL表示。图9.37给出了典型的UNION JOIN连接示意图。

 
图9.37  UNION JOIN连接

从图9.37可见,UNION JOIN中的每一个行由来自一个表的列值与来自另一表的NULL值联合而组成。当想要像单表一样使用来自两个或多个表中的所有行时,使用UNION JOIN就显得十分便利。

说明 在SQL Server中,不支持UNION JOIN,这里也就不给出其应用实例了。

原文地址:https://www.cnblogs.com/wfy680/p/11967170.html

时间: 2024-10-13 18:07:03

UNION JOIN 连接表的相关文章

NNER JOIN连接两个表、三个表、五个表的SQL语句

NNER JOIN连接两个表.三个表.五个表的SQL语句 2013-04-14 15:13:11来源:西部e网作者: SQL INNER JOIN关键字表示在表中存在至少一个匹配时,INNER JOIN 关键字返回行. SQL INNER JOIN关键字表示在表中存在至少一个匹配时,INNER JOIN 关键字返回行. 1.连接两个数据表的用法: FROM Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSor

CROSS JOIN连接用于生成两张表的笛卡尔集

将两张表的情况全部列举出来 结果表: 列= 原表列数相加 行= 原表行数相乘 CROSS JOIN连接用于生成两张表的笛卡尔集. 在sql中cross join的使用: 1.返回的记录数为两个表的记录数乘积. 2.将A表的所有行分别与B表的所有行进行连接. 例如: tableA r1 r2 A B C D tableB r3 r4 1 2 3 4 select * from tableA cross join tableB; return: r1 r2 r3 r4 r1 r2 1 2 r1 r2

数据库(学习整理)----7--Oracle多表查询,三种join连接

聚合函数:(都会忽略null数据) 常用的有5种:将字段中所有的数据聚合在一条中 1.sum(字段名) :求总和 2.avg(字段名) :求平均值 3.max(字段名) :求最大值 4.min(字段名) :求最小值 5.count(字段名.*) :统计行数 ----2.按部门编号,查询平均薪水 ,并且平均薪水<1300的不显示,结果按降序排序 select empno,avg(sal) as avgsal from scott.emp group by empno having avg(sal)

MySQL JOIN 多表连接

除了常用的两个表连接之外,SQL(MySQL) JOIN 语法还支持多表连接.多表连接基本语法如下: 1 ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON condition INNER|LEFT|RIGHTJOIN table3 ON condition ... JOIN 多表连接实现了从多个表中获取相关数据,下面是三个原始数据表: article 文章表: aid title content uid tid 1 文章1 文章1正文内容… 1 1

SQL JOIN连接分类[转]

1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符):包括相等联接和自然联接: 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行:    2.外联接.外联接可以是左向外联接.右向外联接或完整外部联接. 在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定: 1)LEFT  JOIN或LEFT OUTER JOIN     左向外联接的结果集包括  LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行.如果左表的某行在右表中没有匹配行,

数据库sql的join多表

摘录文章 SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据.注意,join后的数据记录数不一定就是左或右表的简单连接,图表只代表集合关系,在数量上并不准确,如这个条件后结果,数量大于左表总数. 图解SQL Join 我认为 Ligaya Turmelle 关于 SQL Join 的文章是一篇非常棒的新手入门指南.由于 SQL Join 似乎被默认为基础,同时利用文氏图表来解释它,乍一看似乎是很自然的选择.然而,就像她的文章下面评论里说的,我也发现在实际测试中,文氏图并没

PetaPoco join连接问题

petapoco是一个轻型的ORM,在这里不做详细介绍了.本文主要对如何对petapoco对象使用join连接,查询相关数据库. 1.首先创建一个简单的数据库,包含两个表.本文使用sql server 2008创建,如下图所示. SubTask表中有三个属性分别为Id.TaskId和Status,Task有两个属性分别为Id和Style,都是简单定义的,如下图所示.             2,创建一个控制台程序,加载petapoco.dll,然后分别创建两个petapoco对象,分别为subt

left join 右表多条数据重复

mysql的left join从两个表中联合查询数据,以左表为主,右表为辅.如果左表中有的内容右表中没有,则用null填充.这是一般的常见的解释.也很容易理解.但是在做右表的多数据查询的时候就得写条件了. 我写一个产品-产品图片的分页过程中需要查出一个图片即可.但是在用mysql的left join中,左表为product,键为pid.右表为image主键为imageid,外键为pid. 查询语句入下 select product.* from product left join image u

【Spark调优】小表join大表数据倾斜解决方案

[使用场景] 对RDD使用join类操作,或者是在Spark SQL中使用join语句时,而且join操作中的一个RDD或表的数据量比较小(例如几百MB或者1~2GB),比较适用此方案.. [解决方案] 小表join大表转为小表broadcast+map大表实现.具体为: 普通的join是会shuffle的,而一旦shuffle,就相当于会将相同key的数据拉取到一个shuffle read task中再进行join,此时就是reduce join,此时如果发生数据倾斜,影响处理性能,而此时恰好