美文网首页
JOIN从句

JOIN从句

作者: imjcw | 来源:发表于2019-11-05 08:32 被阅读0次

前言

由于师父的缘故,平常获取数据都是从单个表获取,然后再PHP中拼接。自我感觉,对于初学者,这是有好处的,锻炼了我们的逻辑。但同时,害处也显而易见,没有充分的利用好数据库自带的一些功能,对于表结构的优化也知道的比较少。

在蛋糕组,虽然接触了一些两表联查的情况,但大多数是底层框架完成的,我也只有一个浅层的了解。唯一会用的也只有LEFT JOIN,而且还不知所云。

现在看了一些资料,对于JOIN从句有那几种用法,哪种用法用于哪种场景,有了一个较为清晰的了解。

JOIN(内链接)

将两张表的公共部分作为新的结果集(如图,深色部分)。

SELECT * FROM `table_a` AS a JOIN `table_b` AS b ON a.`key` = b.`key`;

INNER JOIN

LEFT JOIN(左外链接)

获取存在于左表的数据(如图,深色部分)。

SELECT * FROM `table_a` AS a LEFT JOIN `table_b` AS b ON a.`key` = b.`key`;

获取存在于左表的数据

获取只存在于左表的数据(如图,深色部分)。

SELECT * FROM `table_a` AS a LEFT JOIN `table_b` AS b ON a.`key` = b.`key` WHERE b.`key` IS NULL;

获取只存在于左表的数据

RIGHT JOIN(右外链接)

获取存在于右表的数据(如图,深色部分)。

SELECT * FROM `table_a` AS a RIGHT JOIN `table_b` AS b ON a.`key` = b.`key`;

获取存在于右表的数据

获取只存在于右表的数据(如图,深色部分)。

SELECT * FROM `table_a` AS a RIGHT JOIN `table_b` AS b ON a.`key` = b.`key` WHERE a.`key` IS NULL;

获取只存在于右表的数据

FULL OUTER JOIN(全外链接)

获取两表中所有符合条件的数据,没有的值用NULL代替(如图,深色部分)。

SELECT * FROM `table_a` AS a FULL JOIN `table_b` AS b ON a.`key` = b.`key`;

获取两表中所有符合条件的数据,没有的值用NULL代替

获取两表中所有符合条件的,但不相同的数据,不存在的值用NULL代替(如图,深色部分)。

SELECT * FROM `table_a` AS a FULL JOIN `table_b` AS b ON a.`key` = b.`key` WHERE a.`key` IS NULL OR b.`key` IS NULL;

获取两表中所有符合条件的,但不相同的数据,不存在的值用NULL代替

由于MySQL不支持FULL JOIN,可以使用其他方式来代替,比如左链接UNION ALL右链接。

SELECT * FROM `table_a` AS a LEFT JOIN `table_b` AS b ON a.`key` = b.`key` UNION ALL SELECT * FROM `table_a` AS a RIGHT JOIN `table_b` AS b ON a.`key` = b.`key`;

CROSS JOIN(交叉链接)不知意义何在

获取的数据是A×B的,比如表A中有5条数据,表B中有5条数据,则总共查出的有25条数据。

SELECT * FROM `table_a` AS a CROSS JOIN `table_b` AS b;

-- EOF --

本文转载自IMJCW

原文链接:JOIN从句

相关文章

  • JOIN从句

    前言 由于师父的缘故,平常获取数据都是从单个表获取,然后再PHP中拼接。自我感觉,对于初学者,这是有好处的,锻炼了...

  • Join从句

    SQL-Join从句 Join从句是SQL中用来处理两张表中关联数据的语句 使用以下两张表table_a和tabl...

  • mysql

    join从句 精彩博文依照上面博文写笔记。 Inner join 内连接 left outer join 使用到...

  • 如何正确的使用join从句

    1、 SQL标准中join的类型 1:内连接。inner. 内连接是基于连接谓词将两张表的列组合在一起,产生新的结...

  • MySQL开发技巧一:JOIN从句

    内连接(INNER JOIN) 左外连接(LEFT OUTER JOIN) 右外连接(RIGHT OUTER JO...

  • 从句

    [TOC] 从句 从句可分为 名词性从句主语从句宾语从句表语从句同位语从句 定语从句 状语从句 名词性从句 主语从...

  • 2022-03-29

    三大从句: 名词性从句 形容词性从句 副词性从句 名词性从句又分为: 宾语从句 主语从句 表语从句 形容词性从句又...

  • 2022-04-10

    when引导的从句包括时间状语从句、条件状语从句、原因状语从句、让步状语从句、定语从句、名词性从句(宾语从句、主语...

  • 英语语法:从句

    今天晚上要讲从句 从句分分为状语从句,定语从句,和名词性从句。 状语从句是由状语从句连词引导,是用来修饰主句的句子...

  • Tyger英语指南(下)

    研究生博士生重难点:超级从句 超级从句定义:短语套短语,从句套从句 超级从句公式:1+1+***+1=1 超级从句...

网友评论

      本文标题:JOIN从句

      本文链接:https://www.haomeiwen.com/subject/shirvctx.html