1

当我尝试在 table2 中使用 where 时,我无法将我的代码更改为左连接为空。请在下面查看我的查询

      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

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

4

1 回答 1

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 来说是一个更糟糕的解决方案

于 2013-09-03T09:23:29.723 回答