数据库连接查询

2020-03-18  本文已影响0人  万物皆有序和公式
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
上一篇下一篇

猜你喜欢

热点阅读