快好知 kuaihz

Oracle 10g如何实现高级查询

许多人愁不会Oracle 10g的高级查询,其实也是比较简单的。在查询数据时,为了获取完整的信息就要将多个表连接起来,这也是关系数据库的一个重要特性---表之间存在的关系。这种关系可以将表的数据联系起来。多表查询就是根据这种关系,实现从多个表中获取数据还原信息。下面这个图就是我将要操作的表结构。

工具/材料

电脑

Oracle 10g

操作方法

01:

基本连接查询

在简单查询中我们一般只使用了from字句的一个表,然而在关系数据库中,表与表之间往往是存在关系的,这就是要求从多个表中检索数据,以输出更有意义的结果。最简单的连接方式就是在select语句中,通过from子句使用多个表,并用逗号将不同的基本表隔开。下面语句将商品信息表和供应商信息表连接起来,查询其中的商品名称,产地,供应商名称。

02:

但此时结果显示该查询语句共显示了200行记录,这显然是错误的。因为仅仅通过select和from子句连接那么查询结果将是一个通过笛卡儿积生成的表,包含大量无意义的信息。而where语句可以有效避免笛卡儿积的出现。只有当两个表具有相同匹配的列时才返回结果集。例如下面语句通过在where子句中使用连接条件,实现了每件商品名称,产地,供应商名称信息。

03:

但也要注意一个问题如果想要查询“供应商编号”应该怎么处理,因为两个表中都有“供应商编号”,所以应该查询的时候限定一下,说明究竟是哪一个表中的。

04:

join连接查询

join用于连接两个不同的表,on用于给出这两个表之间的连接条件。如果进一步限制查询范围,可以在后面添加where语句,下面示例使用从商品信息表和供应商信息表查询单价大于1200元的商品信息。

05:

并且join连接也可以实现两个以上的表查询,写语句的时候一个join对应一个on,看下面的例子。

06:

自然连接查询

其实自然连接查询(natural join)就是更加方便的join连接查询,自然连接不必指定任何同等连接条件,系统将自动判断出具有相同名称的列然后形成匹配,但注意自然连接是根据两个表中同名的列而进行连接的,当列不同名时,自然连接将失去意义。

07:

集合操作查询

集合操作就是将两个或多个SQL查询结合构成符合查询,集合操作符有union(并集)、intersect(交集)、minus(差集),现在以union为例,union查询必须从每个表中读取相同的列。

08:

查询

查询连接查询一样提供了使用单个查询访问多个表中的数据的方法,使用in关键字,意思是在in后面的集合中查询我们需要的,即in后面是限定条件。

特别提示

注意在Oracle 10g中的标点符号是英文状态下的

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:高级  高级词条  实现  实现词条  Oracle  Oracle词条  如何  如何词条  查询  查询词条  
手机

 iphone反差色怎么设置

今天小编要和大家分享的是iphone反差色怎么设置,希望能够帮助到大家。操作方法01:首先在我们的手机桌面上找到设置,并点击它,如下图所示。02:然后点击通用,...(展开)

手机

 微信怎么设置成中文?

微信怎么设置成中文呢?下面小编来教大家。操作方法01:首先,我们点击打开我们手机上的微信,进入微信后,我们点击我,然后我们点击设置;02:弹出的界面,我们点击通...(展开)