详解Mysql两表 join 查询方式

 更新时间:2022年10月23日 11:02:56   作者:LoveDR_1995  
这篇文章主要介绍了Mysql两表 join 查询方式,主要包括SQL基本语法格式ji3种join方式,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下

一、SQL基本语法格式

SELECT DISTINCT
	< select_list > 
FROM
	< left_table > < join_type >
JOIN < right_table > ON <join_condition>
WHERE
	< where_condition > 
GROUP BY
	< group_by_list > 
HAVING
	< having_condition > 
ORDER BY
	< order_by_condition > 
LIMIT < limit_number >

二、3种join方式

1. left join(左连接)

A left join B 得到A表的所有字段,如果没有匹配到连接条件则用null填充

select A.*,B.* from A left join B on A.id = B.id;

2. right join(右连接)

A right join B 得到B表所有的字段

select A.*,B.* from A right join B on A.id=B.id;

3. inner join(内连接)

A inner join B得到(A和B的交集)

select A.*,B.* from A inner join B on A.id=B.id;

4. 在理解上面的三种join下,查询(A -  A∩B)

select A.*,B.* from A left join B on A.id=B.id where B.id is null;

 5. 查询 ( B - A∩B )

select A.*,B.* from A right join B on A.id=B.id where A.id is null;

 6. 查询(A∪B - A∩B)

利用union去重将上面的第四、第五种两条sql中间用union连接即可完成;即先完成一小部分的,然后将两个拼起来的思想。

select A.*,B.* from A left join B on A.id=B.id where B.id is null
union
select A.*,B.* from A right join B on A.id=B.id where A.id is null;

 7. 查询 AUB

MySQL中求并集可以使用union关键字进行处理(自动去重)

select A.*,B.* from A left join B on A.id=B.id
UNION
select A.*,B.* from A right join B on A.id=B.id;

到此这篇关于Mysql两表 join 查询方式的文章就介绍到这了,更多相关Mysql join 查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql的innodb和myisam的区别及说明

    mysql的innodb和myisam的区别及说明

    这篇文章主要介绍了mysql的innodb和myisam的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • mysql8关闭binlog并清空Binlog的方法

    mysql8关闭binlog并清空Binlog的方法

    这篇文章主要介绍了mysql8关闭binlog并清空Binlog,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • MySQL 角色(role)功能介绍

    MySQL 角色(role)功能介绍

    这篇文章主要介绍了MySQL 角色(role)功能的相关资料,帮助大家更好的理解和学习使用MySQL数据库,感兴趣的朋友可以了解下
    2021-04-04
  • MySQl数据库必知必会sql语句(加强版)

    MySQl数据库必知必会sql语句(加强版)

    本文给大家分享了一篇关于mysql数据库必会sql语句加强版内容,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-04-04
  • MySql创建带解释的表及给表和字段加注释的实现代码

    MySql创建带解释的表及给表和字段加注释的实现代码

    这篇文章主要介绍了MySql创建带解释的表以及给表和字段加注释的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • MySQL查询随机数据的4种方法和性能对比

    MySQL查询随机数据的4种方法和性能对比

    从MySQL随机选取数据也是我们最常用的一种发发,其最简单的办法就是使用”ORDER BY RAND()”,本文介绍了包括ORDER BY RAND()的4种获取随机数据的方法,并分析了各自的优缺点。
    2014-04-04
  • mysql5.7.10开启慢查询详解

    mysql5.7.10开启慢查询详解

    下面小编就为大家带来一篇mysql5.7.10开启慢查询详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • sql与mysql有哪些区别

    sql与mysql有哪些区别

    在本篇文章里小编给大家分享了关于sql与mysql的区别的内容,有兴趣的朋友们可以学习参考下。
    2020-06-06
  • mysql配置连接参数设置及性能优化

    mysql配置连接参数设置及性能优化

    这篇文章主要介绍了mysql配置连接参数设置及性能优化,主要介绍配置信息的说明和性能优化,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • 一起了解了解MySQL存储引擎

    一起了解了解MySQL存储引擎

    大家好,本篇文章主要讲的是一起了解了解MySQL存储引擎,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论