oracle中sql语句小练习(使用连接查询)
Posted jokerr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中sql语句小练习(使用连接查询)相关的知识,希望对你有一定的参考价值。
假设A(m,n,p),B(m,n,p)
--1.A表中有某一项m而B表中没有
使用左连接查询:
select a.* from A a left join B b on a.m=b.m where b.m is null;
左连接查询公共部分以及A表中的全部数据,B表中该列值为null的数据即为A中存在而B中不存在的结果。
--2.A表中没有某一项m而B表中有
可改为使用右连接查询:
select b.* from A a right join B b on a.m=b.m where a.m is null;
与上一条类似,只是这次判断A表中不存在而B表中存在的结果,右连接查询公共部分以及B表中的全部数据。
--3.查询A表与B表中某一项m一致,而有其它项不一致的情况,其它几项只要有一项满足不一致则输出查询结果,sql语句如下:
select a.m,a.n,a.p,b.m,b.n,b.p from A a join B b on a.m=b.m where a.n<>b.n or a.p<>b.p;
使用了join...on...的连接查询,在此语句中判断不相等的语法为<>,在这里也可写为!=,此查询为查询两个表共同的部分。
以上是关于oracle中sql语句小练习(使用连接查询)的主要内容,如果未能解决你的问题,请参考以下文章