举例说明:
a表: b表
id name id job parent_id
1 张三 1 教师 1
2 李四 2 学生 2
3 王五 3 校长 4
内连接:inner join on
举例:
标准:select a*,b* from a inner join b on a.id=b.parent_id
隐式:select a*,b* from a , b where a.id=b.parent_id
结果
id name id job parent_id
1 张三 1 教师 1
2 李四 2 学生 2
左连接:left join on
select a*,b* from a left join b on a.id=b.parent_id
结果:
id name id job parent_id
1 张三 1 教师 1
2 李四 2 学生 2
3 王五 null null null
总结:左连接,以左侧为准,右侧没有,显示null
右链接:right join on
select a*,b* from a right join b on a.id=b.parent_id
结果:
id name id job parent_id
1 张三 1 教师 1
2 李四 2 学生 2
null null 3 校长 4
总结:右连接,以右侧为准,右侧没有,显示null
全连接:full join on
select a*,b* from a full join b on a.id=b.parent_id
结果:
id name id job parent_id
1 张三 1 教师 1
2 李四 2 学生 2
3 王五 null null null
null null 3 校长 4
总结:全连接,全展示,不匹配的,展示null
交叉连接:cross join
显示:
select a.id,a.name,b.id,b.job,b.parent_id from a a cross join b b where a.id=‘1’
隐式:
select a.id,a.name,b.id,b.job,b.parent_id from a a , b b where a.id=‘1’