我正在研究PHP page
与Oracle
. 我遇到了这个 SQL,我不确定它是否在做应该做的事情,所以我想我会在这里问。有问题的 SQL 是这样的:
select tableA.id, tableA.name, tableB.details
from tableA
left join tableB on
tableB.id = tableA.id
and
tableB.logId = '<logged_in_user>'
现在,当我以在 tableB 中没有条目的用户身份登录时,当此查询运行时,我仍然会获取记录。而我的假设是,'and'
应该是而不是子句'where'
。
left join tableB on
tableB.id = tableA.id
where
tableB.logId = '<logged_in_user>'
所以我的两个问题是。
- 我对吗?
- 如果是这样,那么为什么查询返回结果?什么是
'and'
条款检查?
有人可以解释在上述查询中使用 AND 与 WHERE 时的区别吗?
提前致谢!