内连接和外连接有什么区别?

Sql语句 是一种可以用不同逻辑获取大量数据的语言。在企业环境中,我们可能需要使用复杂的 SQL语句 查询以获取有意义的数据。内部是我们用不同的魔法连接两个表的逻辑之一。

 

示例表

为了理解内部联接和外部联接,我们将使用下面的示例表及其数据。我们将使用两个表 Personels Persons

MariaDB [test]> SELECT LastName FROM Personels; +----------+ | LastName | +----------+ | C        | | D        | | E        | +----------+ 3 rows in set (0.00 sec)
MariaDB [test]> SELECT LastName FROM Persons; +----------+ | LastName | +----------+ | A        | | B        | | C        | | NULL     | +----------+ 4 rows in set (0.00 sec)

内部连接

如果我们把人和人连在一起,我们就只能得到给定域的交集。在这个例子中,我们想要得到 LastName 两个表中的列交集 Persons Personels .

> SELECT Persons.LastName FROM Persons INNER JOIN Personels on Persons.LastName = Personels.LastName;           +----------+ | LastName | +----------+ | C        | +----------+ 1 row in set (0.00 sec)

赖特 外部连接

右外联接将返回左表和左表中的所有条目

> SELECT Persons.LastName FROM Persons RIGHT OUTER JOIN Personels on Persons.LastName = Personels.LastName;       +----------+ | LastName | +----------+ | C        | | NULL     | | NULL     | +----------+ 3 rows in set (0.00 sec)

左 外部连接

> SELECT Persons.LastName FROM Persons LEFT OUTER JOIN Personels on Persons.LastName = Personels.LastName;     +----------+ | LastName | +----------+ | C        | | A        | | B        | | NULL     | +----------+ 4 rows in set (0.00 sec)

内连接和外连接有什么区别?信息图

What is The Difference Between Inner and Outer Join? Infografic
内连接和外连接有什么区别?信息图

相关文章: MySQL的默认端口号是什么?

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享