sqlite数据库怎样实现全外连接

sqlite数据库执行full outer join时提示:RIGHT and FULL OUTER JOINs are not currently supported。

sqlite数据库不支持(+),不支持右外连接(right outer join)和全外连接(full outer join),但支持左外连接(left outer join)。我们可以利用这一点来得到全外连接的结果。

左外连接。
如果想全量显示AA表中的内容:
Select * From aa left outer join  bb on aa.id=bb.id

右外连接。
如果想全量显示BB表中的内容,这时直接执行右外连接,就会报错了。
很简单,BB表放前面,反过来执行一下左外连接的查询语句就好了:
select * from bb left outer join aa on aa.id=bb.id

全外连接。
如果想两张表都能全量显示,将以上两个结果合并。即:先以AA表执行一条左外连接,再以BB表执行一条左外连接:
Select aa.*,bb.* from aa left outer join bb on aa.id=bb.id
union
select aa.*,bb.* from bb left outer join aa on aa.id=bb.id

你可能感兴趣的:(sqlite)