SQL中不同的连接操作有什么用途?例如,我想知道为什么我们需要不同的内部连接和外部连接。
LEFT OUTER JOIN
,其他类型的连接都可以用一个或多个左外连接重写,并可能进行一些过滤。那么为什么我们需要其他所有选项呢?这只是为了让人困惑吗?如果只有一种连接类型,那不是更简单吗?a <= b
和b >= a
?它们不是做同样的事情吗?我们不能只保留其中一个吗?这样会简化事情!<=
换成>=
比交换参数更容易。同样,左连接和右连接只是操作数交换后的同一件事。但是,拥有两个选项而不是要求人们按特定顺序编写查询实际上更加实用。内连接
- 根据指定的条件连接匹配集合中的行。
外连接
- 选择一个集合中的所有元素,以及另一个集合中匹配或空(如果没有匹配)的元素。外连接可以是左连接
或右连接
,以指定完整返回哪个集合。