📜  sql中的vs之间(1)

📅  最后修改于: 2023-12-03 15:35:07.957000             🧑  作者: Mango

SQL中的VS之间

在SQL中,有几个常用的“VS之间”的组合,下面来介绍一下它们之间的不同。

JOIN VS INNER JOIN

JOIN和INNER JOIN本质上是相同的语句,它们都是用来连接两个数据表中的数据,但是JOIN不仅可以连接两个表,还可以连接多个表,而INNER JOIN只能连接两个表。

JOIN的语法如下:

SELECT * FROM table1
JOIN table2
ON table1.column = table2.column;

INNER JOIN的语法如下:

SELECT * FROM table1
INNER JOIN table2
ON table1.column = table2.column;
LEFT JOIN VS RIGHT JOIN

LEFT JOIN和RIGHT JOIN也是用来连接两个数据表中的数据,不同之处在于左连接和右连接的结果不同。

LEFT JOIN会返回左表中所有的记录以及匹配右表的记录,如果右表中没有匹配的记录,那么就返回NULL。

RIGHT JOIN会返回右表中所有的记录以及匹配左表的记录,如果左表中没有匹配的记录,那么就返回NULL。

LEFT JOIN的语法如下:

SELECT * FROM table1
LEFT JOIN table2
ON table1.column = table2.column;

RIGHT JOIN的语法如下:

SELECT * FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;
OUTER JOIN VS FULL OUTER JOIN

OUTER JOIN和FULL OUTER JOIN也是用来连接两个数据表中的数据,不同之处在于它们的结果不同。

OUTER JOIN会返回两张表中所有的记录,如果没有匹配的记录就返回NULL。

FULL OUTER JOIN会返回两张表中所有的记录,无论是否匹配。

OUTER JOIN的语法如下:

SELECT * FROM table1
LEFT OUTER JOIN table2
ON table1.column = table2.column;

FULL OUTER JOIN的语法如下:

SELECT * FROM table1
FULL OUTER JOIN table2
ON table1.column = table2.column;

总结:

JOIN和INNER JOIN用来连接两个数据表中的数据,但JOIN可以连接多个表,INNER JOIN只能连接两个表。

LEFT JOIN会返回左表中所有的记录以及匹配右表的记录,如果右表中没有匹配的记录,那么就返回NULL。RIGHT JOIN会返回右表中所有的记录以及匹配左表的记录,如果左表中没有匹配的记录,那么就返回NULL。

OUTER JOIN会返回两张表中所有的记录,如果没有匹配的记录就返回NULL。FULL OUTER JOIN会返回两张表中所有的记录,无论是否匹配。