oracle sql笔试题
一、 数据库 ORACLE
虽然这些题目都可以G到,但还是要考察一下您现在的常态水平,:)
T表:(字段:ID,NAME,ADDRESS,PHONE,LOGDATE)
E表:(字段:NAME,ADDRESS,PHONE)
1. 将表T中的字段LOGDATE中为2001-02-11的数据更新为2003-01-01,请写出相应的SQL语句。(该字段类型为日期类型)
2. 请写出将表T中NAME存在重复的记录都列出来的SQL语句(按NAME排序)
3. 请写出题目2中,只保留重复记录的第一条,删除其余记录的SQL语句(即使该表不存在重复记录)
4. 请写出将E表中的ADDRESS、PHONE更新到T表中的SQL语句(按NAME相同进行关联)
5. 请写出将T表中第3~5行数据列出来的SQL语句
1 update t
set logdate = to_date('2003-01-01','YYYY-MON-DD')
from logdate = to_date('2001-02-11','YYYY-MON-DD');
2 select *
from ( select name from t group by name order by desc)
3 delete from t
where t.rowid not in ( select max(rowid) from t group by name);
如果是检索所有不重复的行的话那么用
select * from t
where t.rowid not in ( select max(rowid) from t group by ID,NAME,ADDRESS,PHONE,LOGDATE)
4 update t
set t.address = ( select e.address from e,t where t.name = e.name),
t.phone = ( select e.phone from e,t where t.name = e.name);
5.select * from t where rownum <= 5
minus
select * from t where rownum < 3;
or
select * from ( select rownum as rn,t.* from t ) s
where s.rn between 3 and 5;
相关文档:
今天总结下oracle的任务队列管理器(job queue ),以后也方便查询.
我们要做定时任务时,有两种办法
一种是: 操作系统的定时,win的定时任务,unix的crontab
一种是: 数据库级的定时,她的效率更高,
再有大量的表级操作时,建议用数据库本身的job queue,这样方便,效率高;如果用系统级定时,
会增加很多编程工作,成本增加 ......
Oracle解锁与加锁(hr用户为例)
SQL*Plus: Release 9.2.0.4.0 - Production on Tue Jul 14 18:12:38 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn sys/sys as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> desc dba_users
Name &nbs ......
在一个基于TCP/IP协议的网络环境中,oracle数据服务器在一台计算机上,客户端在另外一台计算机上,客户端要连接到oracle服务器我们经常会输入:"C:\sqlplus scott/tiger@shanghai",这是oracle客户端连接服务器时使用的连接命令,其中sqlplus是oracle客户端程序,scott/tiger是登陆服 ......
任何事务无论其隔离级别如何,都具有原子性。原子性和隔离级别是两码事。
假定只有一种资源数据表上的“行“可以被锁定。锁只有共享锁和排他锁两种。
锁的兼容性:
SX
S 10
X 00
事务的隔离级别:
Read Uncommitted
数据读取时不需要锁定
Read Committed
数据读取时需要共享锁定
Repeatable Re ......
※ 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。
※ 数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
※ 数据查询语言(DQL),例如:SELECT语句。
※ 数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。
1、说明:创建数据库
C ......