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语句小练习(使用连接查询)的主要内容,如果未能解决你的问题,请参考以下文章

Oracle查询转换之连接谓词推入

Oracle - 查询语句 - 多表关联查询

MySQL-注释-Navicat基本使用-复杂查询练习题-解题思路-pymysql操作数据库-SQL注入-05

MySQL阶段二——sql语句基础

如何查询oracle 数据库性能,sql资源占用

PLSQL连接Oracle使用like模糊查询中文时返回结果为空