ORACLE进阶(十三)using关键字学习_oracle using where

tb.typ, 
tb.oprorder 
from tb
inner join rb1
using (stfaprid) 
where tb1.jugsumid = #jugsumid# 
and tb1.blnorg = #blnorg# 
and isvld = '1' 
order by tb.typ asc, tb.oprorder asc 

`sql/92`标准可以使用`using`关键字来简化连接查询,但是只是在查询满足下面两个条件时,才能使用`using`关键字进行简化。



> 
> 1. 查询必须是等值连接。
> 2. 等值连接中的列必须具有相同的名称和数据类型。
> 
> 
> 


例如:使用`using`关键字,如下:



select emptno,ename,sal,deptno,dname from emp e inner join dept d using(deptno);


如上述语句执行的结果与自然连接的结果相同。


使用`using`关键字简化连接时,需要注意以下几点:



> 
> 1. 使用emp表和dept表中的deptno列进行连接时,在`using`子句和`select`子句中,都不能为deptno列指定表名或表别名。
> 2. 如果在连接查询时使用了两个表中相同的多个列,那么就可以在`using`子句中指定多个列名。
> 
> 
> 


形式如下:



select… from table1 inner join table2 using(column1,column2)


上述的语句相当于下面的语句:



select… from table1 inner join table2
on table1.column1=table2.column2
and table1.column2=table2.column2;


如果对多个表进行检索,就必须多次使用`using`关键字进行指定,形式如下:



select… from table1
inner join table2 using(column1)
inner join table3 using(column2);


上述的语句相当于下面的语句:



select… from table1,table2,table3
where table1.column1=table2.column1
and table2.column2=table3.column2;


### 二、再议using


在`Oracle`中的`join`连接中使用`using`关键字,相对于`natural join`。


在前面提到,如果是使用`natraul join`,并且两张表中如果有多个字段是具有相同的名称和数据类型,那么这些字段都将被`oracle`自作主张的将他们连接起来。


但实际上我们有时候是不需要这样来连接的。我们只需要将他们的多个具有相同的名称和数据类型的字段中挑选一两个。这时候我们就需要用到`using` 关键字了。


下面是一个例子。


有一个表是sales,还有一个表是costs,这两个表中都有两个字段分别是pro\_id和time\_id。我们暂且不去考虑下面连接的实际意义,仅作语法上的研究。


如果使用natural连接,默认情况下,两个字段将会被自然地连接在一起。



Select * from Sales natural join costs;




### 最后

你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『**难的不会,会的不难**』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。



**我特地针对初学者整理一套前端学习资料**

![前端路线图](https://img-blog.csdnimg.cn/img_convert/957fc503cc18673f3575455c295ed5d2.webp?x-oss-process=image/format,png)

之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。



**我特地针对初学者整理一套前端学习资料**

[外链图片转存中...(img-E0Dq5buX-1718017258840)]

![vue.js的36个技巧](https://img-blog.csdnimg.cn/img_convert/243c8a0d26b2444ccf8514d8ba7e5d5a.webp?x-oss-process=image/format,png)
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值