数据库连接查询

image.png

等值连接与自然连接区别:

在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。
SELECT * from Table_A A NATURAL JOIN Table_B B WHERE A.id = B.id;
在连接查询中,通常不用 WHERE 而是用 ON,因为 WHERE 没有 ON 效率高。
区别是等值连接含有重复列。

如何使用

对于这么多种JOIN查询,到底什么使用应该用哪种呢?其实我们用图来表示结果集就一目了然了。

假设查询语句是:

SELECT ... FROM tableA ??? JOIN tableB ON tableA.column1 = tableB.column2;

我们把tableA看作左表,把tableB看成右表,那么INNER JOIN是选出两张表都存在的记录:


image.png

LEFT OUTER JOIN是选出左表存在的记录:


image.png

RIGHT OUTER JOIN是选出右表存在的记录:
image.png

FULL OUTER JOIN则是选出左右表都存在的记录:


image.png

小结

  1. JOIN查询需要先确定主表,然后把另一个表的数据“附加”到结果集上,对于左右外连接其实只是方向不同,看个人习惯怎么确定主表

  2. INNER JOIN是最常用的一种JOIN查询,它的语法是SELECT ... FROM <表1> INNER JOIN <表2> ON <条件...>;

  3. JOIN查询仍然可以使用WHERE条件和ORDER BY排序。

答疑

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容