返回两个表的笛卡尔积:select * from A,B
比如A的id有{1,2,3},B的aid有{2,3,4},得到的数据: id .....aid..... 1 2 1 3 1 4 2 2 .... .... 3 3 3 4
就是加了条件的交叉连接:select * from A,B where A.id = B.aid
比如A的id有{1,2,3},B的aid有{2,3,4},得到的数据: id........A表数据(不含id)........aid........B表数据(不含aid) 2 不为空 2 不为空 3 不为空 3 不为空
返回两个表的交集: (1).select *from A inner join B on A.id = B.aid-----------得到的数据和隐式内连接一样 (2).select *from A inner join B using (id)----------当B表中的外键名等于A表的主键名时使用,查询结果只有一个id字段的值
比如A的id有{1,2,3},B的id有{2,3,4},得到的数据: id........A表数据(不含id)........B表数据(不含aid) 2 不为空 不为空 3 不为空 不为空
返回两个表的并集
select *from A left outer join B on A.id = B.aid 返回A和B的并集,比如A的id有{1,2,3},B的oid有{2,3,4},返回的是{1,2,3},id为1的记录中B表信息为空 id........A表数据(不含id)........aid........B表数据(不含aid) 1 不为空 空 空 2 不为空 2 不为空 3 不为空 3 不为空
select *from A right outer join B on A.id = B.aid 返回A和B的并集,比如A的id有{1,2,3},B的oid有{2,3,4},返回的是{2,3,4},id为4的记录中A表信息为空 id........A表数据(不含id)........aid........B表数据(不含aid) 2 不为空 2 不为空 3 不为空 3 不为空 空 空 4 不为空
