大部分开发者可能会困惑,为什么我的sql语句怎么写都是错的。很简单因为full join … on …不支持mysql数据库,只支持Oracle数据库。
废话不多说直接上例。
select a.* FROM
(select
table1.*,table2.*
from table1 left JOIN table2 on table1.id=table2 .tid <-- 用左外连接 -->
UNION <-- 通过UNION来链接 -->
select
table1.*,table2.*
from table1 right JOIN table2 on table1.id=table2 .tid) as a <-- 用右外连接 -->
where
a.id = #{id} <-- 如果要根据条件查询,必须要把上面括号里的当做子查询,条件必须写在外面 -->
ORDER BY id <-- 其它操作跟在后面 -->
是不是感觉特别简单,但是对于新手来说这可能会纠结好久,好了到此结束。
如有不足之处,望指正。