【发布时间】:2015-01-05 01:17:58
【问题描述】:
假设我有这个架构。
Boats
_____
bid
bname
Reserves
________
sid
bid
date
Sailors
_______
sid
sname
我知道内连接应该是关联的和可交换的,但我无法真正理解为什么。
给定查询:
SELECT sname, bname
FROM (Sailors NATURAL INNER JOIN Boats) NATURAL INNER JOIN Reserves
我认为这应该返回 null,因为 Sailors 和 Boats 没有公共字段,而:
SELECT sname, bname
FROM (Sailors NATURAL INNER JOIN Reserves) NATURAL INNER JOIN Boats
应该返回水手的名字和他们预订的船的名字。
请告诉我为什么内部连接应该是可交换的和关联的。
谢谢!
【问题讨论】:
标签: postgresql inner-join associativity commutativity