读书人

oracle面试题一个SQL话语求解

发布时间: 2012-10-11 10:16:10 作者: rapoo

oracle面试题,一个SQL语句,求解
一些简单的sql语句,比如说 现在数据库中有10记录,要求你写一个语句保留第二条和第五条记录,将其他的记录全部删除。

[解决办法]

SQL code
--举例如下SQL> delete emp  2      where not exists (select 1 from  3          (select rownum rn,empno from emp) t  4          where t.empno=emp.empno and t.rn in(2,5));已删除12行。SQL> select * from emp;     EMPNO ENAME                JOB                       MGR HIREDATE          ---------- -------------------- ------------------ ---------- --------------           SAL       COMM     DEPTNO                                                ---------- ---------- ----------                                                      7499 Allen                SALESMAN                 7698 20-2月 -81              1600        300         30                                                                                                                                      7654 Martin               SALESMAN                 7698 28-9月 -81              1250       1400         30                                                                                                                                SQL> rollback;回退已完成。
[解决办法]
delete emp
where not exists (select 1 from
(select rownum rn,empno from emp) t
where t.empno=emp.empno and t.rn in(2,5));

读书人网 >oracle

热点推荐