`

join、Inner join、left join、right join、full join的使用

 
阅读更多

1、新建两张表,如下图所示:



 

 其中,persons表中的id与orders表中的pid相对应。

2、join

select a.*,b.* from persons a
join orders b
on a.id = b.pid;

查询结果为满足a.id和b.pid的数据行,其他的不显示,如下图所示:

 2、inner join 内连接

select a.*,b.* from persons a
INNER JOIN orders b
on a.id = b.pid;

查询结果与join一样,为满足a.id和b.pid的数据行,其他的不显示,

其实join为inner join省略掉inner,如下图所示:



 3、外连接 left join、right join、full join,其实是left outer join、right outer  join、full outer  join,只是outer 可以省略掉而已。

select a.*,b.* from persons a
LEFT OUTER JOIN orders b
on a.id = b.pid;

左连接,则返回的数据是以左边的数据表为基准,即以left join前面的数据表为基准,当左表格中的行在右表中没有匹配行时,也返回。返回的记录中,选择的右表的列的内容为NULL

如下图所示:



 4、右连接

则返回的数据是以右边的数据表为基准,即以RIGHT join后面的数据表为基准,当右表格中的行在左表中没有匹配行时,也返回。返回的记录中,选择的左表的列的内容为NULL

如下图所示:



 5、FULL JOIN

可以把它理解为LFETRIGHT的集合,某表中某一行在另一表中无匹配行,则相应列的内容为NULL。如下图所示:



 

 

 

  • 大小: 55.8 KB
  • 大小: 47.9 KB
  • 大小: 57.3 KB
  • 大小: 54.2 KB
  • 大小: 61.8 KB
  • 大小: 67.9 KB
  • 大小: 67 KB
分享到:
评论

相关推荐

    inner join、 left join 、right join、 outer join之间的区别

    inner join、 left join 、right join、 outer join之间的区别

    SQL中的left outer join,inner join,right outer join用法详解

    * FULL OUTER JOIN:LEFT OUTER 和 RIGHT OUTER 中所有行的超集。 内连接(Inner Join) 内连接是最常见的一种连接,它也被称为普通连接,而 E.FCodd 最早称之为自然连接。例如: SELECT * FROM t_institution i ...

    SQL语句inner join,left join ,right join连接的不同之处

    SQL语句inner join,left join ,right join连接的不同之处, 非常实用

    Mysql之innerjoin,leftjoin,rightjoin详解.pdf

    Mysql 之 inner join、left join、right join 详解 Mysql 中的连接查询是指从多个表中检索数据,并将它们组合成一个结果集。inner join、left join 和 right join 是 Mysql 中三种最常用的连接查询方式。 inner ...

    join on 语句及扩展

    Join on/inner join on/full join on/full outer join on/left join on/right join on/cross join on; 在使用jion时,on和where条件的区别;

    MySQL JOIN 语法说明与 INNER JOIN 语法用法实例.docx

    本文档详细介绍了 MySQL 中的 JOIN 语法,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 等,并提供了实际的实例来说明 JOIN 的用法。 首先,MySQL 的 JOIN 语法用于根据两个或多个表中的字段之间的关系,从...

    SQL表连接查询(inner join、full join、left join、right join)1

    表的数据有:一、内连接-inner jion :最常见的连接查询可能是这样,查出学生的名字和成绩:[sql] view plain copy select s.

    sql中join总结

    SQL中大概有这么几种JOIN:cross joininner joinleft outer joinright outer joinfull outer join他们都是基于cross join(笛卡尔乘积),举例说明

    SQL中JOIN的使用详解

    详细说明JOIN的用法,包括LEFT JOIN、RIGHT JOIN、INNER JOIN、SELF JOIN、FULLJOIN

    SQL联合查询inner join、outer join和cross join的区别详解

    这三者的区别很多人都应该不是很清楚,包括我自己,下面我们一起来看看,如果你使用join连表,缺陷的情况下是inner join,另外,开发中使用的left join和right join属于outer join,而outer join还包括full join....

    【SQL高级(三)】【SQL 连接(JOIN)】

    文章目录SQL 连接(JOIN)不同的 SQL JOINSQL INNER JOIN 关键字SQL LEFT JOIN 关键字SQL RIGHT JOIN 关键字SQL FULL OUTER JOIN 关键字 SQL 连接(JOIN) SQL join 用于把来自两个或多个表的行结合起来。 下图展示了 ...

    Mycat与Mysql跨库JOIN与性能测试

    Mysql提供了多种JOIN类型,包括INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN等。这些JOIN类型可以满足不同的应用场景。 1.1 Mysql分库操作 Mysql提供了多种分库操作,包括水平分库、垂直分库和混合分库。水平分...

    SQL中inner join、outer join和cross join的区别

    我也是别人问起,才查找资料看了下,跟自己之前的认识差不多,如果你使用join连表,缺陷的情况下是inner join,另外,开发中使用的left join和right join属于outer join,另外outer join还包括full join.下面我通过...

    mysql 开发技巧之JOIN 更新和数据查重/去重

    1 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN(MySQL 不支持)、CROSS JOIN 这是在网上找到的非常好的一篇博文,图解 join 语句: CODING HORROR-A Visual Explanation of SQL Joins 下图可以很清楚的明白,join ...

    SQL中的left join right join

    数据库常见的join方式有三种:inner join, left outter join, right outter join(还有一种full join,因不常用,本文不讨论)。这三种连接方式都是将两个以上的表通过on条件语句,拼成一个大表。

    SQL多表连接查询、多表关联

    sql多表连接查询inner join, left join , right join ,full join ,cross join Posted on 2008-05-07 21:55 我开始懂了 阅读(21431) 评论(9) 编辑 收藏 inner join,full outer join,left join,right jion 内部连接 ...

    kettle实现SQL关联查询

    kettle介绍-Step之Merge Join实现SQL关联查询,可实现INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN

    浅谈sql连接查询的区别 inner,left,right,full

    下面小编就为大家带来一篇浅谈sql连接查询的区别 inner,left,right,full。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    画图解释 SQL join 语句1

    今天,我们将使用图形来解释 SQL Join 语句的各种类型。 INNER JOIN INNER JOIN 也称为等值连接,是最基本的 Join 型。它返回两个表中满足条件的记录。例如,我们有两个表 A 和 B,我们想从这两个表中检索 name ...

Global site tag (gtag.js) - Google Analytics