![内联接、外联接和交叉联接](https://i-blog.csdnimg.cn/blog_migrate/f29caa72a26f39931005068320a94214.png)
内联接、外联接和交叉联接
Sql is the language where a lot of data can be get with different logic. In an enterprise environment we may need to use complex SQL queries to get meaningful data. Inner is one of the logic where we join two tables with different magic.
Sql是使用不同逻辑可以获取大量数据的语言。 在企业环境中,我们可能需要使用复杂的SQL查询来获取有意义的数据。 内在是将两个具有不同魔力的表联接在一起的逻辑之一。
示例表 (Example Tables)
In order to understand Inner and Outer Joins we will use following example tables with their data. We will use two tables those named Personels
and Persons
为了理解内部联接和外部联接,我们将使用以下示例表及其数据。 我们将使用两个名为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)
内部联接 (Inner Join)
If we inner join Persons with Personels we will get only intersection of the given fields. In this example we want to get the LastName
column intersection in two tables Persons
and Personels
.
如果我们内部将“人员与人员”联接在一起,则将仅获得给定字段的交集。 在此示例中,我们希望在两个表Persons
和Personels
获得LastName
列的交集。
> SELECT Persons.LastName FROM Persons INNER JOIN Personels on Persons.LastName = Personels.LastName;
+----------+
| LastName |
+----------+
| C |
+----------+
1 row in set (0.00 sec)
右外连接 (Right Outer Join)
The right outer join will return all entries in left table and
右外部联接将返回左表中的所有条目,并且
> 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)
左外连接 (Left Outer Join)
> 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)
![What is The Difference Between Inner and Outer Join? Infografic](https://i-blog.csdnimg.cn/blog_migrate/5cc6e6bc49ed345edcc4b519711f192c.png)
内联接、外联接和交叉联接