1、表 TESTA,TESTB,TESTC,各有 A, B 两列A B001 10A002 20AA B001 10B003 30BA B001 10C004 40C连接分为两种:内连接与外连接。A内连接内连接,即最常见的等值连接,例:SELECT * FROM TESTA,TESTBWHERE TESTA.A=TESTB.A结果A B A B001 10A 001 10BB.外连接外连接分为左外连接,右外连接和全外连接。1 左外连接 left outer join 或者 left join左外连接就是在等值连接的基础上加上主表中的未匹配数据,例:SELECT *FROM TESTA LEFT O
2、UTER JOIN TESTB ON TESTA.A=TESTB.A结果:A B A B001 10A 001 10B002 10B三个表做左外连接SELECT *FROM TESTA LEFT OUTER JOIN TESTB ON TESTA.A=TESTB.ALEFT OUTER JOIN TESTCON TESTA.A=TESTC.A结果:A B A B A B001 10A 001 10B 001 10C002 20A2 右外连接 right outer join 或者 right join右外连接是在等值连接的基础上加上被连接表的不匹配数据SELECT *FROM TESTA RI
3、GHT OUTER JOIN TESTB ON TESTA.A=TESTB.A结果:A B A B001 10A 001 10B003 30B3.全外连接 full outer join 或者 full join全外连接是在等值连接的基础上将左表和右表的未匹配数据都加上SELECT * FROM TESTA FULL OUTER JOIN TESTBON TESTA.A=TESTB.A全外连接的等价写法,对同一表先做左连接,然后右连接SELECT TESTA.*,TESTB.*FROM TESTALEFT OUTER JOIN TESTBON TESTA.A=TESTB.AUNIONSELECT TESTA.*,TESTB.*FROM TESTBLEFT OUTER JOIN TESTAON TESTA.A=TESTB.A结果:A B A B001 10A 001 10B002 20A003 30B