我需要帮助来了解此问题,下面的两个查询有什么区别,我都知道它们不会返回相同的结果。
查询1:
SELECT a.col1, b.c1 FROM A a LEFT JOIN B b ON a.col1 = b.c1 WHERE b.status = 'Y'
查询2:
SELECT a.col1, b.c1 FROM A a, B b WHERE a.col1 *= b.c1 AND b.status = 'Y'
抱歉,迟到了一点,但我找到了解决方案:在旧语法中*=,条件b.Status = 'Y'将在左侧的join on子句中,因此在第一个查询中必须具有相同的结果,我只是将其b.Status = 'Y'移至“ on”子句中。
*=
b.Status = 'Y'