*FROM
test_on_position
LEFT JOIN address ON test_on_position.address=address.id
WHERE
test_on_position.address IS NOT NULL
运行结果:
条件在on后面
SELECT*FROM
test_on_position
LEFT JOIN address ON test_on_position.address= address.id AND test_on_position.address IS NOT NULL
运行结果:
结果分析
当条件放在on后面时,无论on条件的真假,都会返回左表的值;
当条件放在where后面时,只有满足条件的记录会返回。
inner join
条件在on后面
SELECT*FROM
test_on_position
INNER JOIN address ON test_on_position.address= address.id AND test_on_position.address IS NOT NULL
运行结果:
条件在where后面
SELECT*FROM
test_on_position
INNER JOIN address ON test_on_position.address=address.id
WHERE
test_on_position.address IS NOT NULL
运行结果:
结果分析
无论条件放在哪里,都只会返回满足条件的结果。
MySQL中条件放在where后面与放在on后面的区别
标签:left join ddr 结果 address 分析 inf res sel osi
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:https://www.cnblogs.com/edda/p/14417531.html