oracle数据库SQL开发之多表连接

本文详细介绍了Oracle数据库中多表连接的四种类型:等值连接、非等值连接、外部连接和自身连接,并给出了具体的SQL示例。此外,还探讨了ANSI SQL 1999标准的连接语法,包括交叉连接、自然连接、using子句、on子句以及左右全外连接的应用。
摘要由CSDN通过智能技术生成

一、多表连接

       N个表查询中要连接起来,要写N-1个连接条件。

1.等值连接

   找到表与表之间有关系的列名进行连接 用等号“=”

如有员工表emp,部门表dept,查找员工编号,姓名,部门编号,部门地点

SQL> SELECT  emp.empno, emp.ename, emp.deptno, dept.deptno, dept.loc

         FROM emp, dept

         WHERE emp.deptno=dept.deptno and emp.deptno='10';

使用and查询能增加其他查询条件,且有前缀名的能提高查找效率。

where 子句是从右到左执行,所以等值连接语句写在左边,其他条件写在靠右边能提高where语句执行效率

 

2.非等值连接

一个表是按照某一列分等级的,另一个要被查询的表找到相关的所在列进行非等值连接,

一般where子句中用between 左区间 and 右区间             或者in(左区间,右区间)写判断条件。

如员工表emp中工资sal ,另一个工资等级表salgrade表

salgrade表有grade(等级),losal(左区间),hisal(右区间)

SQL> SELECT  e.ename, e.sal, s.grade
          FROM emp e, salgrade s
          WHERE  e.sal
     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值