如果你在Oracle 基础知识的实际操作中,你对Oracle 基础知识有不解之处时,以下是文章的具体介绍,望你浏览完以下的内容会有所收获。
在Oracle 基础知识中从多个表里选取数据记载中首要包含四个首要项目,以下的文章首要是介绍在Oracle中的四个项目的详细介绍,你假如对此些项目感兴趣的话,你就可以阅读以下的文章对其进行了解。
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 基础知识中从多个表里选取数据记载的介绍,望你能有所收成。
【修改引荐】
- Oracle Copy指令中SQL*Plus的Copy指令操作
- 在Oracle 学习中进行数据库查询
- Oracle数据库中怎样挑选适宜索引类型
- Oracle to_char()函数具有强壮的功用
- Oracle函数to_char转化成小数点的位数
知优网 » Oracle 基础知识中从多个表里选取数据记载的办法(提取多个表中的数据)