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;
相关文档:
1、查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
......
看了一篇讲座,说到数据层分页技术,用到了4中方式,1)使用top *top 2)使用表变量 3)使用临时表 4)使用ROW_NUMBER函数。
其中最快的是第1 和第4中方式,接下来我们来看看这两种方式:
我们使用sql2005自带的数据库 AdventureWorks测试,
1)
--Use Top*Top
DECLARE @Start datetime,@end datetim ......
当执行插入等操作时出现错误提示“unable to extand table ……” ,则说明该表所在表空间空间不足了。
如果是在winserver下则为表空间增加文件即可(本文不做介绍)。
本文主要介绍数据库服务器环境为AIX时,如何为表空间增加裸设备。
这里
包含AIX系统存储管理的基本介绍;
AIX通过三个层次对 ......
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是登陆服 ......