有两张表:tbl_employee 员工信息表、tbl_position 岗位表
tbl_employee{
id,
name,
p_id
}
tbl_position{
p_id,
p_name
}
需求一:将所有员工信息列出,并带出岗位信息,有的员工可能没有岗位信息,所以可以使用外连接实现。
主流数据库通用的使用方法:左连接实现
select e.name,p.p_name
from tbl_employeee
left jointbl_position p
on (e.p_id=p.p_id)
在Oracle中可以使用更简单的方式:对于外连接,Oracle中可以使用“(+)”来表示.
select e.name,p.p_name
from tbl_employeee,tbl_position p
where e.p_id=p.p_id(+)
需求二:将所有岗位信息列出,并将该岗位下的人员信息列出,有的岗位下可能没有人员,所以可以使用外连接实现。
主流数据库通用的使用方法:右连接实现
select e.name,p.p_name
from tbl_employeee
right jointbl_position p
on (e.p_id=p.p_id)
在Oracle中可以使用:
select e.name,p.p_name
from tbl_employeee,tbl_position p
where e.p_id(+)=p.p_id
需求三:将所有岗位信息和所有的人员信息列出,包括没有对应岗位的员工记录和没有任何员工的岗位记录,所以可以使用全外关联实现。
普通数据库使用:左连接实现
select e.name,p.p_name
from tbl_employeee
full jointbl_position p
on (e.p_id=p.p_id)
小结:
一、我们在数据查询中主要的连接无非是这几个: left join、right join 、full join、cross join
1、left join 左向外连接,返回左边表所有符合条件的记录,简单理解就是将左边的表作为主要显示表;
2、right join ;
3、full join 完整外部连接,它是左向外连接和右向外连接的合集;
4、cross join交叉连接,也称笛卡儿积。返回左表中的每一行与右表中所有行的组合。
二、Orcal 中(+) 的使用
我们可以简单地理解为: (+)所在字段的表的对应另一个表为主要显示表。
分享到:
相关推荐
oracle 左连接 右连接 学习 精选资料
Oracle左连接,右连接.doc Oracle左连接,右连接.doc
Oracle左连接返回多条记录中一条记录的查询语句,更具指定条件分组排序,返回各组中第一条记录
NULL 博文链接:https://nickevin.iteye.com/blog/2004401
数据库左右连接方法详细讲解,文档内列举了实例。很清晰
oracle数据库表左连接右连接全连接的认识
NULL 博文链接:https://201307125158.iteye.com/blog/2115424
Oracle连接有多中,我是在平常开发项目过程中用到的Oracle左连接进行了简单的阐述。
左外连接右外连接,内连接区别,oracle的开发中很需要的,大家看看吧
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
oracle中左右连接left /right join 貌似不起作用,使用(+)代替。
这是因为ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询..数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性...
sql左连接,右连接,内连接,全连接详细讲解
SQL之左连接、右连接和全连接,全面讲述表与表见的链接关系、区别
本章主要讲解oracle客户端连接oracle效劳器,主要有以下内容: 1.配置本地net效劳名配置 2.用sqlplus连接; 3.用toad连接; 一、配置本地net效劳名 首先说明我们的效劳器的IP为60.220.246.53,oracle的SID为czdb。 ...
强制释放Oracle数据连接方案,经常会遇到数据库无法连接,发现是连接数超过限制,如何能够看到默认的数据库连接数量限制呢,如何能够增大数量限制呢? .......
Oracle最大连接数
oracle遇到连接空闲例程时的做法
Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具...
Oracle左(外)、右(外)、全(外)、(内)连接语法与SQL标准的比较