如何使用 EXISTS 關鍵字檢查兩個表中是否存在對應的值?

如何使用 EXISTS 關鍵字檢查兩個表中是否存在對應的值?

使用 exists 檢查兩個表中的對應值

要了解兩個表中是否存在對應的值,可以使用 exists 關鍵字。下面的示例演示了如何使用 exists 檢查主表中的值是否出現在子表中:

主表:pnassertbasic_ruku

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'

子表:pnassertruku

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'

查詢語句:

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 關鍵字,我們可以檢查子表中是否存在與主表中對應的值。如果存在,則查詢結果將返回子表中的匹配記錄;否則,將返回一個空集。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享