Oracle数据库Sql语句详解大全73431414精编版

上传人:ahu****ng1 文档编号:141982463 上传时间:2020-08-14 格式:PPTX 页数:137 大小:2.32MB
返回 下载 相关 举报
Oracle数据库Sql语句详解大全73431414精编版_第1页
第1页 / 共137页
Oracle数据库Sql语句详解大全73431414精编版_第2页
第2页 / 共137页
Oracle数据库Sql语句详解大全73431414精编版_第3页
第3页 / 共137页
Oracle数据库Sql语句详解大全73431414精编版_第4页
第4页 / 共137页
Oracle数据库Sql语句详解大全73431414精编版_第5页
第5页 / 共137页
点击查看更多>>
资源描述

《Oracle数据库Sql语句详解大全73431414精编版》由会员分享,可在线阅读,更多相关《Oracle数据库Sql语句详解大全73431414精编版(137页珍藏版)》请在金锄头文库上搜索。

1、OracleSQL,第一章,SELECT查询,本章目标,写一条SELECT查询语句 在查询中使用表达式、运算符 对空值的处理 对查询字段起别名 查询字段的连接,SELECT查询基本语法,SELECT FROM ,SQL SELECT * FROM s_emp,请查询出s_emp表中所有的员工信息:,查询指定列,SQL SELECT dept_id , salary FROM s_emp,请查询出s_emp表中所有的员工的部门ID,工资:,运用算数表达式,SQL SELECT salary*12 FROM s_emp,请查询出s_emp表中所有的员工的年薪:,运用算数表达式,括号可以改变运算符运

2、算的优先顺序:,SQL SELECT last_name, salary, 12 * salary + 100 2 FROM s_emp; .Velasquez 2500 30100,SQL SELECT last_name, salary, 12 * (salary + 100) 2 FROM s_emp; .Velasquez 2500 31200,列别名,请查询出s_emp表中所有的员工的姓名:,SQL SELECT firname_name | last_name FROM s_emp,SQL SELECT firname_name | last_name “姓名” FROM s_em

3、p,请查询出s_emp表中所有的员工的姓名:,空值的处理,请查询出s_emp表中所有的员工的工资:,SQL SELECT last_name, salary*commission_pct/100 “工资” 2 FROM s_emp;,SQL SELECT last_name , salary+salary*NVL(commission_pct,0)/100 2 FROM s_emp;,去掉重复行,请查询出s_dept表的部门名称:,SQL SELECTname 2 FROM s_dept;,SQL SELECTDISTINCT name 2 FROM s_dept;,去掉多列重复行,SQL S

4、ELECT DISTINCT dept_id, title 2 FROM s_emp;,请查询出s_emp表中所有的员工的部门ID及职称:,小结,查询表的全部记录 查询指定的列 给列起别名 NVL函数及字符串连接符 重复行的处理Distinct,SELECT DISTINCT *,columnalias,. FROM table;,引言,第二章 条件查询,本章目标,WHERE条件查询 在查询中使用表达式、运算符 使用LIKE、BETWEEN、IN进行模糊查询,第一章内容回顾,对员工表中信息进行查询,具体要求如下: 1. 查询s_emp表要求输出员工姓名(firs_name、last_name)

5、和实际工资(基本工资+提成):,查询基本语法,SELECT FROM WHERE ,请查询出s_emp表中dept_id为41的员工信息:,WHERE条件查询,请查询出s_emp表中last_name为Smith的员工的信息:,SELECT * FROM s_emp WHERE last_name = Smith,请查询出s_emp表中部门ID为50并且工资大于1500的员工的信息:,SELECT * FROM s_emp WHERE salary1500 and dept_id=50,WHERE条件查询-BETWEEN,小结,Where条件查询 Betweenand ,第三章 单行函数,本章

6、目标,熟悉各种类型单行函数的使用 掌握转换函数的使用,两种SQL函数,单行函数 Character Number Date Conversion,SINGLE-ROW FUNCTION,多行函数 Group,MULTI-ROW FUNCTION,字符函数,LOWER将字符串转换成小写 UPPER将字符串变为大写 INITCAP将字符串的第一个字母变为大写 CONCAT拼接两个字符串,与 | 相同 SUBSTR取字符串的子串 LENGTH以字符给出字符串的长度 NVL以一个值来替换空值,字符函数举例,LOWER(SQL Course) sql course UPPER(SQL Course) S

7、QL COURSE INITCAP(SQL Course)Sql Course,SELECT * FROM s_emp WHERE last_name=PATEL,SELECT * FROM s_emp WHERE UPPER( last_name)=PATEL,字符操作函数,CONCAT(Good, String)GoodString SUBSTR(String,1,3)Str LENGTH(String)6,数字函数,ROUND(value,precision) 按precision 精度4舍5入 TRUNC(value,precision) 按precision 截取value,SQL

8、SELECT round(55.5),round(-55.5),trunc(55.5),trunc(-55.5) FROM dual; round(55.5) round(-55.5) trunc(55.5) trunc(-55.5) - - - - 56 -56 55 -55,SQL SELECT TRUNC (124.16666, -2) trunc1, trunc(124.16666,2) FROM dual; TRUNC1 TRUNC(124.16666,2) - - 100 124.16,Round,SQL SELECT Order | TO_CHAR(id) | 2 was fil

9、led for a total of | TO_CHAR(total,fm$9,999,999) 3 FROM s_ord 4 WHERE ship_date = 21-SEP-92;,To-char举例,查询员工表中入职日期在7月份的员工信息:,SELECT * FROM s_emp WHERE to_char(start_date,mm)=07,RR 日期格式,Current Year 1995 1995 2001 2001,Specified Date 27-OCT-95 27-OCT-17 27-OCT-17 27-OCT-95,RR Format 1995 2017 2017 199

10、5,YY Format 1995 1917 2017 2095,If the specified two-digit year is,If two digits of the current year are,0-49,0-49,50-99,50-99,The return date is in the current century.,The return date is in the century after the current one.,The return date is in the century before the current one.,The return date

11、 is in the current century.,转换函数,TO_NUMBER(String) 转换字符串到数字,TO_DATE(String) 转换字符串到日期格式,SELECT to_date(2009-09-22,yyyy-mm-dd) FROM dual,转换函数的嵌套,F3(F2(F1(col,arg1),arg2),arg3),Step 1 = Result 1,Step 2 = Result 2,Step 3 = Result 3,转换函数嵌套举例,SQL SELECTlast_name, 2 NVL(TO_CHAR(manager_id),No Manager) 3 FR

12、OMs_emp 4 WHEREmanager_id IS NULL;,查询员工表中manager_id为空的员工查询出来,并将空列的值置为“No Manager”:,小结,字符函数 日期函数 数值函数 转换函数,第四章 关联查询,本章目标,在一张或多张表中使用等值或非等值连接 使用外连接查询 自连接查询,等值连接的种类,等值连接 非等值连接 外连接 自连接,S_EMP Table ID LAST_NAME DEPT_ID - - - 1 Velasquez50 2 Ngao41 3 Nagayama31 4 Quick-To-See10 5 Ropeburn50 6 Urguhart41 7

13、Menchu42 8 Biri43 9 Catchpole44 10 Havel45 11 Magee31 12 Giljum32 13 Sedeghi33 14 Nguyen34 15 Dumas35 16 Maduro41,表间的关系,S_DEPT Table ID NAME REGION_ID - - - 30 Finance 1 31 Sales 1 32 Sales 2 43 Operations 3 50 Administration 1,S_REGION Table ID NAME - - 1 North America 2 South America 3 Africa / Mi

14、ddle East 4 Asia 5 Europe,简单关联查询的语法,查询员工表中last_name为Biri的员工的last_name与部门名称查询出来:,SELECT table.column, table.column FROM table1, table2 WHERE table1.column1 = table2.column2,SQL SELECT e.last_name , d.name 2 FROM s_emp e , s_dept d 3 WHERE e.dept_id = d.id and e.last_name = Biri,非等值连接,SQL SELECT e.ena

15、me, e.job, e.sal, s.grade 2FROM emp e, salgrade s 3WHERE e.sal BETWEEN s.losal AND s.hisal;,自连接,S_EMP (WORKER),S_EMP (MANAGER),LAST_NAME MANAGER_IDIDLAST_NAME-Ngao11VelasquezNagayama11Velasquez Ropeburn11Velasquez Urguhart22NgaoMenchu2 2Ngao Biri2 2Ngao Magee33NagaymaGiljum3 3Nagayma .,自连接,查询员工表中last_name为Biri的员工的last_name及其部门经理名称查询出来:,SQL SELECT worker.last_name| works for |manager.last_name 2 FROM s_emp worker, s_emp manager 3 WHERE worker.manager_id = manager.id;,外连接,SQL SELECT worker.last_name| works for |manager.last_name

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号