如何使用 exists 關(guān)鍵字檢查兩個(gè)表中是否存在對(duì)應(yīng)的值?
在 mysql 中,exists 關(guān)鍵字可用于檢查兩個(gè)表中是否存在對(duì)應(yīng)的值。要使用 exists 關(guān)鍵字檢查主表(第一張表)中是否存在子表(第二張表)中的內(nèi)容,請(qǐng)按照以下步驟操作:
- 將子查詢(第二張表)作為 exists 子句的參數(shù)。子查詢應(yīng)返回 true 或 false,具體取決于子表中是否存在與主表匹配的值。
- 在主查詢中,使用 exists 子句檢查子查詢是否返回 true。如果子查詢返回 true,則 exists 條件為 true,表明在主表中找到了匹配的值。
以下是您提供的查詢的更正版本:
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 )
登錄后復(fù)制
請(qǐng)注意,我修改了 exists 子句的子查詢,以便檢查主表和子表的 pn_code 和 serialnumber 匹配。