我有两个2桌t1(years int, numOfppl int)
,t2(years int, numOfppl int)
。
t1包含2001年至2010年之间的年份,t2包含2003-2005和2007-2010之间的年份
我想查询类似的结果
t1.years t1.numOfppl t2.yeras t2.numOfppl
2001 7 null null
2002 6 null null
2003 4 2003 7
... ...
2006 8 null null
2007 4 2007 3
我尝试像那样查询
select t1.years, t1.numOfppl, t2.years, t2.numOfppl from t1
left join t2 on t1.years=t2.years
然后结果无法显示空值,仅从2003开始,但如果我删除了t1.years=t2.years
,那么它会生成交叉连接等结果。
答案 0 :(得分:1)
试试FULL OUTER JOIN
。这是sqlfiddle。它会产生你期待的操作
SQLFiddle
select t1.years, t1.numOfppl, t2.years, t2.numOfppl from t1
full outer join t2 on t1.years=t2.years