oracle多表联合查询SQL92方式&SQL99方式&三表联合查询

本文介绍了Oracle中多表联合查询的SQL92和SQL99两种方式,包括笛卡尔积、等值连接、不等值连接、自连接和外连接的使用,并通过实例演示了如何进行三表联合查询,帮助读者理解和掌握不同类型的联合查询技巧。
摘要由CSDN通过智能技术生成

多表联合查询:

  --当需要获取的数据分布在多张中,考虑使用联合查询
    --SQL92方式
    --SQL99方式

SQL92方式

    --笛卡尔积:将多个表的数据进行一一对应,所得到结果为多表的笛卡尔积。
              --结果的数量为所有表的数量的乘积。
    select * from emp,dept where emp.deptno=dept.deptno
    --等值连接筛选
         --概念:先做表的笛卡尔积,然后筛选,筛选条件为等值筛选。
         --注意:条件为字段的值相同来进行筛选,字段的名字可以不同
         --查询员工姓名,工作,薪资,部门名称
         select * from emp,dept where emp.deptno=dept.deptno
                --可以直接在select子句中使用字段直接获取数据,但是效率比较低。建议字段前加上表名
                --注意:如果是公共字段,则必须声明表名
                 select ename,job,sal,dname from emp,dept where emp.deptno=dept.deptno--等值连接筛选
                 select emp.ename,emp.job,emp.sal,dept.dname,emp.deptno from emp,dept where emp.deptno=dept.deptno
                 select e.ename,e.job,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno and sal>2000--给表使用别名
    --不等值连接
         --查询员工姓名,工作,工资,工资等级
         select * from emp e,salgrade s where e.sal>=s.losal and e.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值