--插入数据
insert into emp values(123,'张si','','','');
insert into emp1(empno) values(234);
commit;
--删除数据
delete from emp where empno = 222;
commit;
--更新数据
update emp set empno=2323, ename='zhangsan';
update emp1 set sal='111' where sal='1311';
--查询数据
select * from emp1;--shift+home键,然后按f8执行。
select distinct ename, sal from emp1; --查询唯一(如果是两个值的话,是联合唯一。)
select empno 雇员编号, ename as 雇员名称 from emp; --为查询结果设置别名。
SELECT '编号是:' || empno || '的雇员姓名是:' || ename || ',基本工资是:' || sal 雇员信息 FROM emp ; -- 结果是这样拼接出来的。
select empno , ename, (sal+200)*12 as 年薪 from emp; --查询结果可设置函数。
select count(*) from emp;
select * from emp where empno in('112','211');
select * from emp where empno ='23' or empno ='222';
select * from emp where empno like '%222%';
select * from emp order by sal desc;
--left join .. on , right join ..on . 左右连接。
select t1.empno , t1.ename from emp t1 right join emp1 t2 on t1.empno=t2.empno;
--group by有一个原则,就是select后面的所有列中,没有使用聚合函数的列,必须出现在group by 后面。 先group by 分组,再聚合查询。
--having 通常与group by 联合使用, 用来过滤由group by 语句返回的记录值。having的存在弥补了where关键字不能与聚合函数联合使用的不足。
select name , sum(number) from test group by name;
select id, count(course) as numcourse , avg(score) as avgscore from student group by id having avg(score)>80;
--得出一个行数和p#fasp_T_pupcs021表行数一样的临时列,每行的列值是1;
select 1 from p#fasp_T_pupcs021;
--查询一棵树, start with 第一个节点的guid 开始, connect by prior 条件是 guid = superguid 。 查询这棵树。 prior 是自顶向下的方式。
select * from p#FASP_T_PUBDEPARTMENT start with guid='90218F42D8491150E5D7892146E44FF9' connect by prior guid=superguid; --查询出所有父节点为这个值的数。
--rollback , commit ,
--事物设置成自动提交。
set autocommit on;
--查看数据库锁定情况。
select session_id,oracle_username,process from v$locked_object where oracle_username='FASP_14';
--查询v$session 数据字典
select sid,serial#,username,lockwait,status from v$session where sid in(152,394);
--解除死锁
alter system kill session '111';
CREATE TABLE department
AS
SELECT d.deptno deptno,d.dname dname,d.loc loc,
COUNT(e.empno) count, SUM(e.sal + NVL(e.comm,0)) sum,
ROUND(AVG(e.sal + NVL(e.comm,0)),2) avg, MAX(e.sal) max, MIN(e.sal) min
FROM dept d,emp e
WHERE d.deptno=e.deptno(+)
GROUP BY d.deptno,d.dname,d.loc
ORDER BY d.deptno ;