mysql join语法
eg1:
select * from biao1 AS b1
left join biao2 AS b2 ON b1.id=b2.id AND b2.name!=NULL;
eg2:
select * from biao1 AS b1
left join biao2 AS b2 ON b1.id=b2.id
where b2.name!=NULL;
上面两个例子,如果想要取表一有,表二没有的数据,用eg1是错误的。
上面两个例子mysql的关于ON和where的处理基本如下:
1、先选取左表的所有数据,展示左表的字段
2、根据ON在步骤1的结果集中填充右表的某些字段,其中,右表不存在的数据用NULL填充(结果集依旧是步骤1的结果集,此步骤只是多了几个右表的字段)
3、根据where把上面的结果集筛选。
更多文档: