Union链接查询

Posted mr171733

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Union链接查询相关的知识,希望对你有一定的参考价值。

union 查询就是把 2 条或多条 sql 的查询结果 , 合并成 1 个结果集各语句取出的列数必须相同;如果不相同 , 会报错;

sql1 返回 N 行

sql2 返回 M 行

sql1 union sql2 , 返回 N+M 行

左链接查询

以左表为准,去右表找匹配的数据,找不到用null补齐

语句:select tableA.列1,tableA.列2,tableB.列n from tableA  left join  tableB on tableA.列 = tableB.列 where 条件

例子

技术分享图片

 

右链接查询

以右表为准,去左表找匹配的数据,找不到用null补齐

 

语句:select tableA.列1,tableA.列2,tableB.列n from tableA  right join  tableB on tableA.列 = tableB.列 where 条件

 

技术分享图片

内连接查询

查询左右表中都有的数据,去掉左右表中null的数据

内连接是左右链接的交集

语句:select tableA.列1,tableA.列2,tableB.列n from tableA  inner join  tableB on tableA.列 = tableB.列 where 条件

技术分享图片

 联合查询

定义:联合查询主要是unio和union all两个,是将查询结果合并,查询时,查询的字段个数要一样

UNION ALL:合并是不删除重复的行

技术分享图片

UNION:合并时候,删除重复相同的行
              两个表联合查询时,如果两行数据每一列都相同(无论是什么类型,只要值一样)就合并去重

技术分享图片


以上是关于Union链接查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基础语法之子链接查询和特殊查询(union 和 limit)

MySQL - 加入两个查询(UNION?)

MySQL基础中级进阶

or和union区别

数据库开发基础-SQl Server 链接查询

使用 MS Access Union Query 合并 3 个表/查询