在这里我想用mysql为例来说下JOIN中的一些知识:
1. —
在此我创建了两张表brand和car:
左连接显示左表的所有信息:
2. —
当测试到上面这两条sql时我感动很意外,他们的结果居然是一样的,但a.brandid>1执行的结果明显不是我所想要的,且数据有误。
我个人认为解释这个只能说这是mysql的一种执行机制,他把条件都转化到b表上了。
3. —
看到这里时应该可以明白where和on的区别了:
ON后面的条件是在连接时进行的判断,而WHERE后面的条件是在执行的结果集中进行的判断。