我在postgres数据库中使用这样的查询:
SELECT TableA.id FROM TableA , TableB WHERE TableA.id = 100;
Run Code Online (Sandbox Code Playgroud)
每个TableA.id都是唯一的(它是一个自动增量),我得到的结果超过1.我在这里错过了什么吗?
您需要加入:
SELECT TableA.ID from TableA
INNER JOIN TableB
ON TableB.TableAID = TableA.ID
WHERE TableA.ID = 100
Run Code Online (Sandbox Code Playgroud)
您正在进行交叉连接 - 有效地将TableB中的每一行与TableA中的单行对齐.如果你从TableB中选择一些东西,这将更加明显:)你当前没有从TableB中选择任何东西这一事实不会阻止(TableA,TableB)对成为连接的结果,在投影之前.
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |