使用left join是null而不是mysql中不存在的地方

时间:2013-09-03 07:42:22

标签: mysql sql

当我尝试在table2中使用where时,我无法将我的代码更改为left join is null。请参阅我的查询

      SELECT  table1.column1,  table1.column2
      FROM table1
          WHERE NOT 
              EXISTS (
                    SELECT table2.column1, table2.column2
                    FROM table2
                    WHERE table2.column1= table1.column1
                    AND table2.location_id= 6
                )
      GROUP BY Barcode

你能解释一下,即使这不是有用或不好的问题。这是我真正的问题。

1 个答案:

答案 0 :(得分:1)

为什么你不能使用左连接?

SELECT  table1.column1,  table1.column2
   FROM table1
   LEFT JOIN table2
   ON table2.column1= table1.column1
     AND table2.location_id= 6
   WHERE table2.column1 is null
   GROUP By Barcode

另外,你认为左连接更好的假设并不是必须正确的。 TsSkTo在你的问题的评论中链接的文章表明,左连接对于MSSQL来说是一个更糟糕的解决方案