SQL中内连接和外连接的区别

SQL中内连接和外连接的区别

1. 内连接:

它是 SQL 中的一种连接操作。内连接是一种返回两个或多个表之间的组合元组的操作,其中至少一个属性是共同的。如果表之间没有共同的属性,那么它将不返回任何内容。

语法:

select * 
from table1 INNER JOIN table2
on table1.column_name = table2.column_name;
SQL

或者:

select *
from table1 JOIN table2
on table1.column_name = table2.column_name;
SQL

2. 外连接:

它是 SQL 中的一种 Join 操作。外连接是从指定表返回组合元组的操作,即使连接条件失败。SQL中有三种类型的外连接,即:

  • 左外连接
  • 右外连接
  • 全外连接

左外连接的语法:

select *
from table1 LEFT OUTER JOIN table2
on table1.column_name = table2.column_name;
SQL

右外连接的语法:

select *
from table1 RIGHT OUTER JOIN table2
on table1.column_name = table2.column_name;
SQL

全外连接的语法:

select *
from table1 FULL OUTER JOIN table2
on table1.column_name = table2.column_name;
SQL

INNER JOIN 和 OUTER JOIN 的区别

下表列出了 INNER JOIN 和 OUTER JOIN 之间的区别:

S.No 内连接 外连接
1 它返回两个或多个表之间的组合元组。 即使连接条件失败,外连接也会从指定的表中返回组合元组。
2 使用子句 INNER JOINJOIN 使用子句 LEFT OUTER JOINRIGHT OUTER JOINFULL OUTER JOIN 等。
3 当任何属性不常见时,不会返回任何内容。 外连接不依赖于公共属性。如果属性为空,则已经放置了 NULL。
4 如果元组更多, INNER JOINOUTER JOIN 工作得更快。 通常, OUTER JOININNER JOIN 慢。但除了一些特殊情况。
5 当想要有关任何特定属性的详细信息时使用它。 当我们想要完成信息时使用它。
6 JOININNER JOIN 两个子句的工作方式相同。 FULL OUTER JOINFULL JOIN 两个子句的工作方式相同。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册