0

我使用以下 sql 命令来搜索一些记录。

select con.type, con.contract_id, con.account, chk.account, chk.check_flags
from contract_scan_image con, outer check_customer_info chk
where con.type='AP' and con.account=chk.account

并得到如下结果。

type  contract_id  account      account      check_flags                    

AP    1413178      03071800181                                             
AP    1413774      03071800569                                             
AP    1414218      03071800810                                             
AP    1415937      03071900602  03071900602  000000222010000000000000000000
AP    1417948      03072000524  03072000524  000000222010000000000000000000
AP    1417999      03072000555                                             
AP    1418203      03072000667  03072000667  000000222010000000000000000000
AP    1418216      03072000672  03072000672  000000220010000000000000000000
......

为什么即使表中的“帐户”字段中没有任何内容,仍然可以找到记录?

4

1 回答 1

1

因为您正在使用外连接,即使与另一个表不匹配,它也会将行带到第一个表中尝试像这样编写语句

select con.type, con.contract_id, con.account, chk.account, chk.check_flags
from contract_scan_image con inner join check_customer_info chk on con .account = chk.account
where con.type='AP'
于 2013-08-29T06:32:05.997 回答