如何使用 exists 关键字检查两个表中是否存在对应的值?
要找出两个表中是否存在对应的值,可以使用 exists 关键字。此关键字检查一个子查询是否返回任何行,如果返回,则 exists 返回 true;否则,返回 false。
示例查询:
以下查询使用 exists 检查名为 temp1 的表的行是否出现在名为 temp2 的表中:
select * from temp1 where exists ( select * from temp2 where temp1.pn_code = temp2.pn_code and temp1.serialnumber = temp2.serialnumber );
修改后的查询:
在你的情况下,你需要检查主表(temp1)中的行是否出现在子表(temp2)中。修改后的查询如下:
SELECT * FROM ( SELECT pn_Code, serialNumber FROM pnassertbasic_ruku pr LEFT JOIN pnassertruku pu ON pr.parent_pnAssertRuku_id = pu.child_pnAssertRukuDetails_id WHERE pn_Code IS NOT NULL AND serialNumber IS NOT NULL AND DATE(pr.create_time) = CURDATE() AND pr.warehouseEntryNumber <> 'WEd3791f0b' ) AS temp1 WHERE EXISTS ( SELECT * FROM ( SELECT pn_Code, serialNumber FROM pnassertbasic_ruku pr LEFT JOIN pnassertruku pu ON pr.parent_pnAssertRuku_id = pu.child_pnAssertRukuDetails_id WHERE pu.child_pnAssertRukuDetails_id IS NULL AND pr.warehouseEntryNumber = 'WEd3791f0b' ) AS temp2 WHERE temp1.pn_Code = temp2.pn_Code AND temp1.serialNumber = temp2.serialNumber );
以上就是如何使用 EXISTS 关键字判断两个表中是否存在相同记录?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com