05_ORACLE系统函数和联接查询.ppt_第1页
05_ORACLE系统函数和联接查询.ppt_第2页
05_ORACLE系统函数和联接查询.ppt_第3页
05_ORACLE系统函数和联接查询.ppt_第4页
05_ORACLE系统函数和联接查询.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、系统函数和联接查询,1,课程目标,常用系统函数 内连接 外连接 自连接,系统函数的分类,在ORACLE系统中,可以把系统函数分为5种类型: 字符串函数 数字函数 日期函数 数据类型转换函数 常规函数,数学函数,ROUND(x,y) 返回舍入到小数点右边y位的x值,如果y是负数,则舍入到小数点左边相应的位上。 TRUNC(x,y) 返回截尾到小数点右边y位的x值,如果y是负数,则舍入到小数点左边相应的位上。 MOD(x,y) 返回x除以y的余数,字符串函数,常用的字符串处理函数,SQL SELECTempno, ename, deptno 2 FROMemp 3 WHEREename = bla

2、ke; no rows selected,EMPNO ENAME DEPTNO - - - 7698 BLAKE 30,SQL SELECTempno, ename, deptno 2 FROMemp 3 WHERE ename = UPPER(blake);,大小写转换函数的使用,CONCAT(Good, String) SUBSTR(String,1,3) LENGTH(String) INSTR(String, r) LPAD(sal,10,*) TRIM(S FROM SSMITH),GoodString Str 6 3 *5000 MITH,Function,Result,字符串操作

3、函数,日期函数,赋值时数据类型的隐式自动转换,数据类型转换函数强制显式转换,数据类型转换函数强制显式转换,TO_CHAR(NUMBER,fmt) TO_CHAR(date,fmt),常规函数,SQL SELECT ename, salary, (salary*12)+NVL(subsidy,0) 2 FROM emp;,ENAME SALARY (SALARY*12)+NVL(SUBSIDY,0) - - - - KING 5000 60000 BLAKE 2850 34200 CLARK 2450 29400 JONES 2975 35700 MARTIN 1250 16400 ALLEN

4、1600 19500 . 14 rows selected.,NVL函数的使用,SQL SELECT job, salary, 2 DECODE(job, ANALYST, SAL*1.1, 3 CLERK, SAL*1.15, 4 MANAGER, SAL*1.20, 5 SAL) 6 REVISED_SALARY 7 FROM emp;,JOB SAL REVISED_SALARY - - - PRESIDENT 5000 5000 MANAGER 2850 3420 MANAGER 2450 2940 . 14 rows selected.,DECODE函数的使用,基本的联接查询语法格式

5、,SELECT别名1.colmun,别名2.colmun FROM table1 别名1,table2 别名2 WHERE 别名1.colmun1=别名2.colmun2; 其中: 别名1.colmun表示要从第一张表中检索的数据列。 别名2.colmun表示要从第二表中检索的数据列。 别名1.colmun1表示指定的colmun1来自表table1中。 别名2.colmun2表示指定的colmun2来自表table2中。 例如 select a.ename,a.sal,b.dname from emp a,dept b where a.deptno=b.deptno;,联接查询应遵循的一些规

6、则,使用表名限定列名,可以增强数据检索的效率。 如果相同的列名出现在多个表中,必须使用表明限定。 连接查询的表可以是两个或两个以上。,内连接,内连接把两个表连接成一个表(称为第三个表),在这个表中仅包含那些满足连接条件的记录行。 内连接有两种形式,等价连接和非等价连接。 内连接保证了两个表中所有的行都满足连接条件,但却丢失了一些不满足连接条件的数据。,外连接,如果想只限定一个表的条件而不限定另外一个表的条件,就需要使用外连接。 外连接只能用于两张表的连接。 包括左外连接和右外连接,用(+)表示可以 填充NULL值。 格式 SELECT别名1.colmun,别名2.colmun FROM tab

7、le1 别名1,table2 别名2 WHERE别名1.colmun1(+)=别名2.colmun2; 或 SELECT别名1.colmun,别名2.colmun FROM table1 别名1,table2 别名2 WHERE别名1.colmun1=别名2.colmun2(+);,外连接,例如 select a.ename,a.sal,b.dname from emp a,dept b where a.deptno(+)=b.deptno; select a.ename,a.sal,b.dname from emp a,dept b where a.deptno=b.deptno(+);,自连接,自连接就是把某一张表中的行同该表中另外一些行连接起来。自连接主要用于查询比较相同的信息,所比较的列必须有相同的或兼容的数据类型。 为了连接同一个表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论