ORACLE SQL 语句速查

上传人:206****923 文档编号:41702682 上传时间:2018-05-30 格式:DOC 页数:14 大小:75.50KB
返回 下载 相关 举报
ORACLE SQL 语句速查_第1页
第1页 / 共14页
ORACLE SQL 语句速查_第2页
第2页 / 共14页
ORACLE SQL 语句速查_第3页
第3页 / 共14页
ORACLE SQL 语句速查_第4页
第4页 / 共14页
ORACLE SQL 语句速查_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《ORACLE SQL 语句速查》由会员分享,可在线阅读,更多相关《ORACLE SQL 语句速查(14页珍藏版)》请在金锄头文库上搜索。

1、oracleSQL: Structure Query Language常见数据类型常见数据类型 Char(n) 定长字符串 Varchar2(n) 变长字符串 Number(m,p) 数字类型 Date 日期类型SQL 语句分类语句分类 1.查询语句:SELECT 2.DML 语句(数据操作语言)INSERT/UPDATE/DELETE/MERGE 3.DDL 语句(数据定义语言)CREATE/ALTER/DROP/TRUNCATE 4.DCL 语句(数据控制语言)GRANT/REVOKE 5.事务控制语句:COMMIT/ROLLBACK/SAVEPOINT一一.SELECT 语句语句 1.基

2、本查询基本查询格式格式 SELECT *,columnalias, . FROM table; 例子例子 SELECT * FROM departments; SELECT department_id,department_name FROM departments;带算数表达式的查询语句带算数表达式的查询语句 SELECT last_name,salary,salary*12 FROM employees; SELECT last_name,salary,salary*12+100 FROM employees;包含连接表达式的包含连接表达式的 SELECT 语句语句 SELECT last

3、_name | job_id FRM employees; SELECT last_name| work at | job_id FROM employees;包含字段别名的包含字段别名的 SELECT 语句语句SELECT lastname “姓名“,salary “薪水“ FROM employees.包含文本字符串的包含文本字符串的 SELECT 语句语句 SELECT last_name| is a | job_id AS “Employee Details“ FROM employees;去重关键字去重关键字 DISTINCT SELECT DISTINCT department_i

4、d FROM employees;取得日期格式的查询语句取得日期格式的查询语句 SELECT * FROM v$nls_parameters;取得当前日期日期的查询语句取得当前日期日期的查询语句 SELECT sysdate FROM DUAL;2.带限制条件的查询语句带限制条件的查询语句格式格式 SELECT DISTINCT *, column alias, . FROM table WHERE condition(s)包含比较操作符的查询语句包含比较操作符的查询语句 SELECT last_name FROM employees WHERE salary = BETWEEN .AND I

5、N (list) LIKE IS NULL 例子例子 SELECT * FROM employees WHERE manageer_id IN(1,2,3); SELECT last_name FROM employees WHERE last_name IS NULL;包含通配符的包含通配符的 SELECT 语句语句 %表示零或多个字符 _表示一个字符 例子例子 SELECT last_name FROM employees WHERE last_name LIKE _A%;WHERE 条件的逻辑运算条件的逻辑运算 逻辑运算符逻辑运算符 AND ORNOT 例子例子 SELECT * FRO

6、M employee WHERE salary1 AND job_id=C; SELECT * FROM employee WHERE job_id NOT IN(Clerk,Manager); SELECT * FROM employee WHERE (job_id=“A“ OR job_id=C) AND salary1000;包含排序的查询语句包含排序的查询语句 排序关键字排序关键字 ORDER BY ASC 升序 缺省 DESC 降序 例子例子 SELECT * FROM employees ORDER BY hire_date DESC; SELECT * FROM employee

7、s ORDER BY hire_date DESC, salary ASC;2.函数函数函数的基本格式函数的基本格式 Function_name(column|expression,arg1,arg2,.)字符函数字符函数 LOWER,UPPER,INITCAP,CONCAT,SUBSTR,LENGTH, INSTR,LPAD,RPAD,TRIM,REPLACE.LOW 强制小写 UPPER 强制大学 INITCAP 首字母大写 例子例子 SELECT * FROM employees WHERE LOWER(last_name) =blake;字符串连接 CONCAT 取子串 SUBSTR

8、找到子 instr INSTR 补位函数 LPAD 去除特殊 trim TRIM replace REPLACE 例子例子 SELECT replace(oracle SQL,oracle,training) test FROM DUAL 把 oracle SQL 中的 oracle 替换成 trainingSELECT last_name,CONCAT(last_name job) CAN, LENGTH(last_name) LEN,INSTR(last_name,A) INS FROM employees WHERE SUBSTR(job_id,1,5)=SALES四舍五入 round

9、截取 trunc 求模 mod 例子例子SELECT round(45.123,2) “小数点后两位”,round(45.123,0) “取整” FROM SYS.DUAL SELECT MOD(salary,1000) FROM employees;日期类型函数日期类型函数 SELECT sysdate FROM DUAL; oracle 中日期类型的缺省显示格式是 DD-MM-YY 日期计算函数日期计算函数 MONTHS_BETWEEN,ADD_MONTHS,NEXT_DAY,LAST_DAY,ROUND,TRUCE,MONTHS _BETWEEN转换函数转换函数 类型转换只能发生在数字与

10、字符或者日期与自负之间,数字与日期之间不能发生转换 to_char-TO_CHAR(date,fmt) TO_DATE TO_NUMBERTo_char日期转换日期转换 如果有一个 fm 元素,可以去掉前面的零 SELECT last_name,TO_CHAR(hire_date,fmDD Month YYYY) AS HIREDATE FROM employees;数字转换数字转换 SELECT TO_CHAR(salary,$99.99) FROM employees;TO_DATE SELECT TO_DATE(01-5 月-04) FROM DUAL; SELECT TO_DATE(2

11、004-5-1 ,yyyy-mm-dd) FROM DUAL;TO_NUMBER SELECT TO_NUMBER(123456) FROM DUAL SELECT TO_NUMBER($123,456.00,$999,999,00) FROM DUAL;其他函数其他函数NVL(expr1,expr2)将空值转换为一个替换值 NVL2(expr1,expr2,expr3)如果为空,返回 expr2,不为空,返回 expr3 NULLIF(expr1,expr2)如果两个值相等,返回空,不相等,返回第一个值CASE 表达式表达式 SELECT last_name,job_id,salary CA

12、SE job_id WHEN IT_PROG THEN 1.10*salary WHEN ST_CLERK THEN 1.15*salary WHEN SA_REP THEN 1.20*salary ELSE salary END “REVISED_SALARY“ FROM employees;DECODE 和和 CASE 具有相同功能但是用法不同的函数具有相同功能但是用法不同的函数 SELECT job_id,salary, DECODE(job_id, A ,salary*1.1, B,salary*1.2, C,salary*1.2, salary) REVISED_SALARY FRO

13、M employees;分组函数分组函数 AVG 求平均值 COUNT 求记录数 MAX 求最大值,对于日期类型,越早的日子被认为值越小,空值被当做无穷大处理 MIN 求最小值 SUM 求和例子例子 SELECT AVG(commission_pct) FROM employees;GROUP BY 格式格式 SELECT column,group_function FROM table WHERE condition GROUP BY group_by_expression ORDER BY column规则:规则: 1.分组函数不能出现在 WHERE 语句中,相同的功能应该由 HAVING

14、 关键字实现 2.出现在 SELECT 列表中的字段如果出现的位置不是在组函数中,那么必须出现在 GROUP BY 子句中 3.在 GROUP BY 子句中出现的字段,可以不出现在查询列表中常见错误语句常见错误语句 SELECT department_id,count(last_name) FROM employees;HAVING 例子例子 SELECT department_id,MAX(Salary) FROM employees GROUP BY department_id HAVING MAX(salary)1000;SELECT column,group_function FROM

15、 table WHERE condition GROUP BY group_by_expression HAVING group_condition ORDER BY column;3.多表连接多表连接多表连接的种类多表连接的种类 等值连接,非等值连接,外连接,自连接常见错误常见错误 如果做多表连接的时候没写 WHERE 条件,会得到两个表的笛卡尔乘积等值连接等值连接 SELECT e.employee_id, e.last_name FROM employees e ,departments d WHERE e.department_id=d.department_id非等值连接非等值连接

16、SELECT e.last_name,e.salary ,j.grade_level FROM employees e,job_grades j WHERE e.salary BETWEEN j.lowest_sal AND j.highest_sal;外连接外连接左外连接将产生以表达式右边字段为依据的查询结果,也就是说,显示将以右边字段中的 所有数据作为依据,显示右边表的所有数据,一集左边表与右边匹配的数据。而右外连接 则规范,显示左边表的所有数据。SELECT table.column, table.column FROM table 1,table2 WHERE table1.column(+) =table2.column;SELECT table.column, table.column FROM table 1,table2 WHERE table

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

当前位置:首页 > 行业资料 > 其它行业文档

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