MySQL Join Where Not Exists

前端 未结 3 1263
孤街浪徒
孤街浪徒 2020-12-02 10:12

I have a MySQL query that joins two tables

  • Voters
  • Households

They join on voters.household_id and household.id

3条回答
  •  误落风尘
    2020-12-02 10:42

    There are three possible ways to do that.

    1. Option

      SELECT  lt.* FROM    table_left lt
      LEFT JOIN
          table_right rt
      ON      rt.value = lt.value
      WHERE   rt.value IS NULL
      
    2. Option

      SELECT  lt.* FROM    table_left lt
      WHERE   lt.value NOT IN
      (
      SELECT  value
      FROM    table_right rt
      )
      
    3. Option

      SELECT  lt.* FROM    table_left lt
      WHERE   NOT EXISTS
      (
      SELECT  NULL
      FROM    table_right rt
      WHERE   rt.value = lt.value
      )
      

提交回复
热议问题