我有两个问题:
1)
SELECT a.n
FROM account a, contract c
WHERE c.n = a.r$contract
AND c.n IN (
SELECT account.n
FROM account, contract
WHERE contract.n = account.r$contract
AND account.n = contract.n )
ORDER BY a.n
和
2)
SELECT account.n
FROM account, contract
WHERE contract.n = account.r$contract
AND account.n = contract.n
在1中有47行,但在2 - 15中。我无法理解为什么
答案 0 :(得分:1)
不确定,我会试试......
如果查询2返回15行,那么查询1的内部选择也是如此,因为它看起来与我相同..
所以查询1就像
SELECT a.n
FROM account a, contract c
WHERE c.n = a.r$contract
AND c.n IN ( <any of the 15 values> )
ORDER BY a.n
这与
不同SELECT a.n
FROM account a, contract c
WHERE c.n = a.r$contract
AND c.n = a.n ( <-just one possible value)
ORDER BY a.n
这可以解释为什么你得到不同的结果集。