oracle联合查询

等值连接

select * from books,bookstype where bookstype.typeid = books.typeid



内连接

select * from books inner join  bookstype on books.typeid = bookstype.typeid

左外连接


select * from books left outer join bookstype on bookstype.typeid = books.typeid

右外连接


select * from books right outer join bookstype on bookstype.typeid = books.typeid

全连接

select * from books full outer join bookstype on bookstype.typeid = books.typeid

交叉连接(完全连接)
select * from books cross join bookstype
结果记录数目 books*bookstype

自然连接
select * from books natural join bookstype
取两个表中相同的字段做等值连接查询

自连接
select * from books self join bookstype
自连接通常由于循环表结构的查询,如 行政区域的表,部门职员表等。

自连接比较特殊,一般反映记录的上下级关系,例如员工信息表中会有一个字段:上级领导,这个字段对应的上级其实也是一个员工,这个员工信息就是通过自连接进行查找的
自连接一般要求在表中有一个特殊的字段,连接时要注意 例如from  a  tab1 left join a tab2 on tab1.up_id = tab2.id

猜你喜欢

转载自javakill.iteye.com/blog/1873433
今日推荐