在oracle的连接(join)中使用using关键字
如果是使用natraul join,并且两张表中如果有多个字段是具有相同的名称和数据类型的,那么这些字段都将被oracle自作主张的将他们连接起来。
但实际上我们有时候是不需要这样来连接的。我们只需要将他们的多个具有相同的名称和数据类型的字段中挑选一两个。这时候我们就需要用到using 关键字了。
下面是一个例子。
在oracle的例子sh的schema中的有一个表是sales,还有一个表是costs,这两个表中都有两个字段分别是pro_id和time_id。我们暂且不去考虑下面连接的实际意义,仅作语法上的研究。
如果使用natural连接,默认情况下,两个字段将会被自然地连接在一起。
Select * from
Sales natural join costs;
和
Select * from
Sales join costs on Sales.prod_id = costs.prod_id and sales.time_id = costs.time_id
和
Select * from
Sales ,costs
Where Sales.pro_id = cost.prod_id
and sales.time_id = costs.time_id
得到的结果应该是一样的。
如果我们使用自然连接,就没有机会控制连接条件,oracle自作主张的将两个相同数据类型和名称的字段自然地连接在一起了。
下面我们使用using关键字。
Select * from
Sales join costs using(prod_id)
这样就迫使oracle使用using指出的字段来做连接,而不是natural join连接中默认的两个。
请注意,这里的SQL语句没有任何意义,只是为了说明using的用法举了一个牵强的例子而已。
在oracle的连接(join)中使用using关键字的更多相关文章
- 深入Oracle的left join中on和where的区别详解
-- from http://blog.itpub.net/30175262/viewspace-1472060/ 今天遇到一个求某月所有天数的统计结果,如果某日的结果是0也需要显示出来,即: 日期 ...
- Oracle 左连接、右连接、全外连接、(+)号作用、inner join(等值连接) (转载)
Oracle 外连接 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 外连接(Outer Join) oute ...
- oracle使用LEFT JOIN关联产生的问题在查询结果中使用CASE WHEN 无法判断
oracle使用LEFT JOIN关联产生的问题在查询结果中使用CASE WHEN 无法判断 查询方式一: SELECT CASE WHEN (SELECT CAST(SUM(CASE ) THEN ...
- oracle表连接------>排序合并连接(Merge Sort Join)
排序合并连接 (Sort Merge Join)是一种两个表在做连接时用排序操作(Sort)和合并操作(Merge)来得到连接结果集的连接方法. 对于排序合并连接的优缺点及适用场景例如以下: a,通常 ...
- Linq中的连接(join)
http://www.cnblogs.com/scottckt/archive/2010/08/11/1797716.html Linq中连接主要有组连接.内连接.左外连接.交叉连接四种.各个用法如下 ...
- LINQ中的连接(join)用法示例
Linq中连接主要有组连接.内连接.左外连接.交叉连接四种.各个用法如下. 1. 组连接 组连接是与分组查询是一样的.即根据分组得到结果. 如下例,根据publisther分组得到结果. 使用组连接的 ...
- JOIN中的外连接(external join)
外连接: ---外连接并不要求连接的两表的每一条记录在对方表中都有一条匹配记录.要保留所有记录(甚至这条记录没有匹配的记录也要保留)的表成为保留表.外连接可以一句连接表保 留左表,右表和全部表的行二进 ...
- ORACLE的SQL JOIN方式小结
在ORACLE数据库中,表与表之间的SQL JOIN方式有多种(不仅表与表,还可以表与视图.物化视图等联结),官方的解释如下所示 A join is a query that combines row ...
- Oracle 左连接、右连接、全外连接、(+)号作用
分类: Oracle Oracle 外连接 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 外连接(Outer ...
随机推荐
- 『Glob』常用方法记录
glob.glob(file) 返回匹配的文件 glob.glob(./flower_photos/tulips/*.jpg) Out[1]:<br># ['./flower_photos ...
- Eclipse SVN 合并分支/主干
可以从主干合并到分支,也可以从分支合并到主干,根据需要可以选择合适的选项,如下图:
- ubuntu下没有Language Support
sudo apt-get installlanguage-selector-gnome
- iOS UI-UIScrollView控件实现图片缩放功能
一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理.也就是说,要完成缩放功能的话,只需要将需要缩 ...
- ajax传递数组、form表单提交对象数组
在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致,那么传值就没有什么问题.不过,在前几天的开发 ...
- forget word qz_c
1● circum s ək ʌm 圆周 环绕 周围 2● co 元音前 共同 3● col 4● cor 铺音前 共同 5● com 6● con 共同
- POJ 1128 拓扑排序 + 深搜
/* (⊙v⊙)嗯 貌似是一个建图 拓扑+深搜的过程.至于为什么要深搜嘛..一个月前敲得题现在全部推了重敲,于是明白了.因为题意要求如果有多个可能的解的话. * 就要输出字典序最小的那个.所以可以对2 ...
- openshift rhc
Microsoft Windows [Version 6.1.7601]Copyright (c) 2009 Microsoft Corporation. All rights reserved. C ...
- Our supersheet
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 实现checkbox的多选
checkbox多选 技术一般水平有限,有什么错的地方,望大家指正. 全选,多选都是为了使用的方便,一般情况下全选就够用了,但是用户要求实现一个多选的功能也没有办法老老实实的做吧. 多选的实现也较为简 ...