2015.1.8 Left join 左连接
格式 select f1.a, f2.b form f1 left jion f2 on ....
注意:左边的查询部分只能有select和from,不能出现where order by等。若有必须在外嵌套一层 select
On 后面的条件只影响入选的f2.b字段有没有值,不影响总行数
(2016.9.9 上面说法错误!可以写where和order,写在on语句之后就行)
2017.10.25 两张表都带where条件的left join 写法
写法1: 左表的where条件写在on语句后,右表的where条件写在on里,或者二者颠倒,结果不变
select f1.chart_type_id prm_id, f2.chart_type_id
from TERMINAL_CHART_TYPE f1
left join TERMINAL_CHART_TYPE f2
on f2.type_name='航路点坐标'
where f1.type_name='标准仪表进场图'
写法2:上述where写法颠倒
select f1.chart_type_id prm_id, f2.chart_type_id
from TERMINAL_CHART_TYPE f1
left join TERMINAL_CHART_TYPE f2
on f1.type_name='标准仪表进场图'
where f2.type_name='航路点坐标'
写法3:用嵌套select写右表,右表where条件写在嵌套sql中
select f1.chart_type_id prm_id, f2.chart_type_id
from TERMINAL_CHART_TYPE f1
left join (select * from TERMINAL_CHART_TYPE f2 where f2.type_name='航路点坐标') f2
on 1=1
where f1.type_name='标准仪表进场图'
结果都是:4 32