Oracle PL/SQL Summary

本文概述了Oracle数据库中的PL/SQL语言,包括其在SQL语言分类中的地位,介绍了其在数据库管理和应用开发中的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. SQL语言分类:

数据查询语言: select,功能语法最复杂、最灵活
DML数据操纵语言: insert, update, delete
DDL数据定义语言: create table, alter table, drop table,注意ddl语句会自动提交事务
TCL事务控制语言: commit, rollback, savepoint
DCL数据控制语言: grant, revoke,注意dcl语句会自动提交事务
2. SELECT子句:SELECT <*, COLUMN(alias),...> FROM TABLE
SELECT * FROM emp //检索所有列
SELECT ename FROM emp //检索特定列
SELECT ename,hiredate FROM emp //检索日期列
SELECT ename,To_Char(hiredate, 'YYYY-MM-DD') FROM emp //以特定格式检索日期列
SELECT DISTINCT deptno,job FROM emp //取消重复行
SELECT ename, sal*12 FROM emp //使用算术表达式
SELECT ename AS "NAME", sal*12 AS "SAL" FROM emp //使用列别名
SELECT ename,sal,sal+Nvl(comm,0) FROM emp //使用nvl处理NULL值
SELECT ename,sal,sal+Nvl2(comm,sal+comm,sal) FROM emp //使用nvl2处理NULL值
SELECT ename||' is a '||job AS "Emp Detail" FROM emp //连接字符串    
3. WHERE子句:SELECT <*, COLUMN(alias),...> FROM TABLE [WHERE condition(s)]
SELECT ename,sal FROM emp WHERE sal>2000 //在where中使用数字值
SELECT job,sal FROM emp WHERE ename='SCOTT' //在where中使用字符值
SELECT ename,hiredate FROM emp WHERE hiredate>To_Date('1982-01-01','YYYY-MM-DD') //在where中使用日期值
SELECT ename,sal FROM emp WHERE sal BETWEEN 1000 AND 2000 //在where中使用between...and...操作符
SELECT ename,sal FROM emp WHERE ename LIKE 'S%' //在where中使用like操作符,‘%’表示0个或多个字条
SELECT ename,sal FROM emp WHERE ename LIKE '__A%' //‘_’表示单个字条
SELECT ename,sal FROM emp WHERE ename LIKE '%a_%' ESCAPE 'a' //如果将通配符%或_作为字符值使用,需要在escape之后使用转义符
SELECT ename,sal FROM emp WHERE sal IN (800,1250) //在where中使用in操作符
SELECT ename,sal FROM emp WHERE mgr IS NULL //在where中使用is null操作符
SELECT ename,sal FROM emp WHERE comm IS NOT NULL //在where中使用逻辑操作符not
SELECT ename,sal,job,deptno FROM emp WHERE deptno=20 AND/OR job='CLERK' //在where中使用逻辑操作符and,or
4. ORDER BY 子句(必须是最后一个):SELECT <*, COLUMN(alias),...> FROM TABLE [WHERE condition(s)] [ORDER BY expr {ASC|DESC}]
SELECT ename,sal,comm FROM emp WHERE deptno=30 ORDER BY sal ASC|DESC //升序|降序排列
SELECT ename,sal,comm FROM emp WHERE deptno=30 ORDER BY sal ASC, comm DESC //使用多列排序
SELECT ename,sal*12 AS "TotalSal" FROM emp WHERE deptno=30 ORDER BY "TotalSal" DESC //使用列别名排序
SELECT ename,sal*12 AS "TotalSal" FROM emp WHERE deptno=30 ORDER BY 2 DESC //使用列位置编号排序 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值