表A:A( x ,y,z)表B架构B:B( u ,X,V)
[BOLD中提到的主要密钥]
对于SQL查询,如上所述: -
SELECT x
FROM A
WHERE x in ( SELECT x
FROM B
WHERE x<10)
如何从表B而不是表A中解析该X的内部查询?
x
是从最内向的查询中解决的。符合列的名称总是最好的,因此将此查询写入:
SELECT A.x
FROM A
WHERE A.x IN (SELECT B.x
FROM B
WHERE B.x < 10
);
这具有一个优点,如果不存在B.x
,您将会遇到错误。否则,IN (SELECT x . . .
将参考A.x
(但仅在不存在B.x
时)。