做纯静态网站怎么样,微网站与微信网站,app 游戏网站建设,wordpress最新说明:
用left join关联查询时,数据库会先生成一张临时表,我们查询到的就是临时表的数据.
1. left join:以左表为基准#xff0c;根据on条件过滤连接生成临时表#xff0c;on后面的过滤条件对左表无效,都会返回左表中的数据,where是生成临时表之后,再对临时表进行过滤,跟lef…说明:
用left join关联查询时,数据库会先生成一张临时表,我们查询到的就是临时表的数据.
1. left join:以左表为基准根据on条件过滤连接生成临时表on后面的过滤条件对左表无效,都会返回左表中的数据,where是生成临时表之后,再对临时表进行过滤,跟left join没啥关系了,这里过滤的是临时表数据了.
2. right join:逻辑同上
3. full join:以左表为基准根据on条件过滤连接生成临时表on后面的过滤条件对左右表无效
4. inner join:等值连接根据过滤条件生成临时表。on后面的条件可以用 where实现,onwhere
总结
1.用left join 进行条件过滤时on条件只会对右表进行条件过滤不会对左表数据产生任何影响 2.用left join 进行条件过滤时where条件会对结果表进行条件过滤所以会对左表数据产生影响 3.用inner join 用on和where没有任何区别
举个简单例子:
SELECT * FROM ALEFT JOIN B
ON A.id B.id and B.is_deleted 0
WHERE A.is_deleted 0;
会返回所有A.is_deleted0的数据
SELECT * FROM ALEFT JOIN B
ON A.id B.id
WHERE A.is_deleted 0
and B.is_deleted 0;
这里就不一定了,如果A.idB.id的数据,但是B.is_deleted不等于0.那么该id的A表数据也不会返回