oracle数据库中的联接查询
2015-12-11 11:19
483 查看
<pre name="code" class="html">--创建表a1 create table a1( aid number, anum char(20) ) --为表a1设置主键 alter table a1 add constraint pk_a1 primary key(aid); --创建与a1表的表结构一致的b表 create table b1 as select * from a where 1=2; --修改b1表的列名 alter table b1 rename column aid to bid; alter table b1 rename column anum to bnum; --为b1表设置主键 alter table b1 add constraint pk_b1 primary key(bid); insert into a1 values (1,'a01') (2,'a02')(3,'a03')(5,'a05'); commit; insert into b1 (bid,bnum) values (1,'b01') (2,'b02'), (3,'b03'), (4,'b04'); commit;
1.左联接查询
select * from a1 left join b1 on a1.aid = b1.bid
结果如下:
结果分析:left join ... on ..是以A表的记录为基础的,也就是说,左表A1的记录将会全部显示出来,
--而右表B1只会显示符合搜索条件的记录。(即a1.aid = b1.bid )
2.右联接查询
select * from a1 right join b1 on a1.aid = b1.bid;
执行结果如下:
3.相等查询或者内连接
select * from a1 inner join b1 on a1.aid = b1.bid;
结果如下:
4.左外联接查询
select * from a1 left outer join b1 on a1.aid = b1.bid;
5.右外联接查询
select * from a1 right outer join b1 on a1.aid = b1.bid;
相关文章推荐
- Oracle INV - SO line backorder API
- 范式(Oracle)
- plsql oracle客户端配置
- PetaPoco利用ODP.NET Managed Driver连接Oracle
- oracle定制定时执行任务
- oracle job interval·相关事例
- oracle分页查询原理
- Oracle BI基础之ETL数据增量抽取方案
- Oracle 基础
- Oracle中varchar,varchar2,nvarchar,nvarchar2的区别
- Oracle中已有数据的字段类型修改
- oracle建立job定期运行存储过程
- ORACLE 事务属性详解
- 24 Given the following steps, which would be the correct order to create a backup of an Oracle datab
- 关于oracle数据库备份还原-impdp,expdp
- oracle存储过程的学习
- oracle跨库查询dblink的用法实例详解
- Oracle修改表空间大小的方法
- LINUX下Oracle数据导入导出的方法详解
- LINUX下Oracle数据库用户创建方法详解