如果你在Oracle 基础知识的实际操作中,你对Oracle 基础知识有不解之处时,以下是文章的具体介绍,望你浏览完以下的内容会有所收获。

在Oracle 基础知识中从多个表里选取数据记载中首要包含四个首要项目,以下的文章首要是介绍在Oracle中的四个项目的详细介绍,你假如对此些项目感兴趣的话,你就可以阅读以下的文章对其进行了解。

Oracle 基础知识中从多个表里选取数据记载的办法(提取多个表中的数据)  基础知识 第1张

1. 数据表间的衔接

简略的衔接语法:

SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……]

WHERE 表名1.字段名 = 表名2. 字段名 [ AND ……] ;

SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……]

WHERE 表名1.字段名 = 表名2. 字段名(+) [ AND ……] ;

有(+)号的字段方位主动补空值

衔接的分类:

等于的衔接 =

不等于的衔接 != BETWEEN … AND … IN 留意IN和OR不能一重用

8

J2EE @ zxw

外衔接 有一个字段名(+) , 没有满意的条件补空值

自衔接 同一个表自己跟自己衔接 例如找重复记载

2. 数据表间的衔接比如

删去table_name表里字段名email重复的记载:

SQL>delete from table_name t1

where t1.rowid >

(select min(rowid) from table_name t2

where t1.email = t2.email

group by email

having count(email) > 1);

找到手机用户的服务区域:

SQL> select a.handphoneno,nvl(c.name,'null'),a.totalscore

from topscore a,chargeoperator cc,chargeoperatorinfo c

where substr(a.handphoneno,1,7)=cc.hpnohead(+)

and cc.chargetype=c.chargetype(+)

order by a.totalscore desc;

3.Oracle 基础知识中数据表间的衔接技巧

衔接N个表, 需求N-1个衔接操作

被衔接的表***建一个单字符的别号, 字段名前加上这个单字符的别号

BETWEEN .. AND.. 比用 >= AND <= 要好

衔接操作的字段名上***要有索引

衔接操作的字段***用整数数字类型

有外衔接时, 不能用OR或IN的比较操作

4. 怎么剖析和履行SQL句子

写多表衔接SQL句子时要知道它的剖析履行计划的状况.

Sys用户下运转@/ORACLE_HOME/sqlplus/admin/plustrce.sql 发生plustrace人物

Sys用户下把此人物赋予一般用户 SQL> grant plustrace to &username;

一般用户下运转@/ORACLE_HOME/rdbms/admin/utlxplan.sql

发生plan_table

SQL> set time on; 阐明:翻开时刻显现

SQL> set autotrace on; 阐明:翻开主动剖析计算,并显现SQL句子的运转成果

SQL> set autotrace traceonly; 阐明:翻开主动剖析计算,不显现SQL句子的运转成果

接下来你就运转测验SQL句子,看到其剖析计算成果了。

一般来讲,咱们的SQL句子应该防止大表的全表扫描。

SQL> set autotrace off; 阐明:封闭主动剖析计算

以上的相关内容便是对Oracle 基础知识中从多个表里选取数据记载的介绍,望你能有所收成。

【修改引荐】

  1. Oracle Copy指令中SQL*Plus的Copy指令操作
  2. 在Oracle 学习中进行数据库查询
  3. Oracle数据库中怎样挑选适宜索引类型
  4. Oracle to_char()函数具有强壮的功用
  5. Oracle函数to_char转化成小数点的位数
转载请说明出处
知优网 » Oracle 基础知识中从多个表里选取数据记载的办法(提取多个表中的数据)

发表评论

您需要后才能发表评论