第1题 多表插入
关键字:most efficiently ,insert 答案:C
插入数据用insert ,至于用all还是first,随意
第2题 REGEXP_LIKE
关键字:REGEXP_LIKE ,[[:alpha:]] 答案:C
REGEXP_LIKE 可用方法有多种,在我的另外博客上有
1. 第3题 正则表达式 regular expression
关键字:regular expression,无length concatenate 答案:CDE
正则表达式只有搜索,替换,格式化等功能,格式化一般用后向引用,没有计算length和concatenate(连接串联)的。
2. 第4题 删除列 drop column
关键字:THE FIRST_NAME column ,remain答案:B
删除列时如果该列有约束contraint则需删除时同时cascade其约束,方可删除
3. 第5题主键与约束 UNIQUENE与constrain
关键字:THE FIRST_NAME column ,remain答案:B
主键包括非空和唯一约束,它会自动创建唯一索引(注:唯一约束也会自动创建唯一索引)
4. 第6题 同义词 动态视图 字典表
关键字:USER_SYNONYMS,Dictionary 答案:AE
user_xx 这类表基本只能展示自己的,不能展示别的。
除了sys账户外,其他用户都不能访问基表(v$)和其他用户。
5.第7题 日期格式 to_date to_char
答案:AB
注意下to_date和to_char的用法即可,不同字符间不能直接比较。
SELECT EXTRACT(month FROM order_date) "Month" FROM gyj_order; //提取月份的方法,比较新
第8题 优先级规则
关键字:(salary+50)*12 答案:C
6.第9题 序列 sequence
关键字:sequence,1 答案:A
sequence的默认值minvalue为1,cycle回收之后就恢复为1
7.第10题 where 多字段查询
关键字:WHERE clause condition,same order 答案:D
用where语句时,如果多字段查询,那么就要求两边的查询字段顺序要一致,如下:
WHERE (manager_id,department_id) = (SELECT manager_id,department_id FROM
8.第11题 group by与where,having之间的先后顺序关系
关键字:WHERE ,GROUP BY,HAVING 答案:D
SELECT column, group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];
9.第12题 CONNECT BY PRIOR层次查询
关键字:top-down hierarchy 答案:E
自顶而下层次查询top-down hierarchy ,层次查询就是树型查询,用CONNECT BY PRIOR
10.第13题 相关子查询定义 correlated subquery AD
关键字:correlated subqueries,after,each row答案:AD
Oracle的子查询分为两类分别是嵌套子查询和非嵌套子查询,嵌套子查询就是非相关子查询,即子查询为一个单独的查询,与外层的主查询毫无相关,这时整个查询应是先查询子查询,等子查询将数据查出后,再查询主查询,与之匹配。而非嵌套子查询就是相关子查询,子查询不是一个独立的查询,它的查询字段必须与主查询有相对应关系,这时整个查询应是先查询主查询,等子查询将数据查出返回后,再查询子查询,与之匹配
nested query叫:inner query(子查询,内部查询),main query叫outer query(外部查询,主查询)
11.第14题 权限与角色的关系
关键字:GRANT 答案:A
权限可以赋予给角色,也可以单独赋予给用户,当双方都被赋予给用户时,当权限被回收时,角色中包含的权限仍可被用户所使用。
第15题 alter table set unused
关键字: alter table set unused 答案:A
格式:alter table XXX set unused (列名); 在这么设置过后,该列将处于被删除状态,在该列的一切都将无法使用,具体可看我的其他博客文章
12.第16题 外部表的限制 external table
关键字: external table ,update,insert,index 答案:C
外部表不能被做DML操作,如insert,update,delete,也不能被建索引,但可以建视图view.
13.第17题 insert的种类 pivoting insert
关键字: pivoting insert 答案:A
insert分为好几种,一种为unconditional insert,即为无条件的单列或者多条多列插入,可以使直接insert,也可以是insert all ,第二种是有条件的插入conditional insert,这种分为first和all,前者为满足条件就不执行后续,后者是满足条件就执行,第三种就是pivoting insert,所谓的旋转插入,实例如下:
可参考文档:http://www.cnblogs.com/benio/archive/2011/05/26/2058103.html
14.第18题 视图view的注意点 CREATE VIEW
关键字: CREATE VIEW 答案:B
创建view时除了要注意字段名和数量一致以外,还要注意,select的字段如果是表达式或者计算公式就一定要加别名.
15.第19题 表连接――内联视图当作表使用
关键字: (select * from a)A right outper 答案:A
内联视图或者内联表都能作为一个正常的表来使用
16.第20题 扩展GROUP BY分组――ROLLUP
关键字: ROLLUP,GROUP BY,from right to left 答案:C
rollup必须与group by一起使用,rollup(a,b,c)是按照这顺序的先group by a,b,c然后a,b,然后a,然后不分组,从右到左4个结果union all。
17.第21题 正则表达式--- REGEXP_REPLACE 函数
关键字:REGEXP_REPLACE 答案:C
REGEXP_REPLACE(phone_number,'([[:digit:]]{3})\.([[:digit:]]{3})\.([[:digit:]]{4})','(\1)\2-\3') 等同于(xxx)xxx-xxxxx
18.第22题 权限――分配系统权限 grant a system privilege
关键字:grant a system privilege 答案:C
分配到表的权限是不能分配给用户的,也不能分配给all,只能把系统权限分配下去
19.第23题 约束―――延迟约束 DEFERRAVLE INITIALLY DEFERRED
关键字:DEFERRAVLE INITIALLY DEFERRED,IMMEDIATE 答案:C
约束可分为即时约束和延迟约束,延迟约束可以设定延迟生效也可以设定为立刻生效,而即时约束是立刻生效
20.第24题 INSERT --- WITH CHECK OPTION
关键字:WITH CHECK OPTION 答案:C
insert是插入到查询里的这张表里,只不过如果不满足子查询里的where条件的话,就不允许插入。如果插入的列有不在子查询作为检查的where条件里,那么也会不允许插入。如果不加WITH CHECK OPTION则在插入时不会检查。
21.第25题 select语句
关键字:5%,SALARY 答案:A
普通的select语句,主要考别名与列名之间,还有别名的双引号,以及优先级是否括号
22.第26题 外部表 extermal table
关键字:extermal table,create table 答案:D
外部表的metadata(元数据)是存在数据库中,但它的数据是存储在数据库外部的操作系统文件,oracle 可以以只读的方式来访问该文件,也就是说,可以在查询语句中将 External Table 与数据库中其他表进行连接(Join),但是不能给 External Table 加上索引,并且不能插入/更新/删除数据,不能添加虚拟列,因为它不是真正的数据库表。
ORACLE_LOADER是从外部表转载数据入数据库表
ORACLE_DATAPUMP是从数据库表卸载数据入外部表
第27题 select
关键字:SYSDATE+warranty_period 答案:B
考研select的知识
23.第28题 在相关子查询中EXISTS的使用
关键字:stop evaluating,outer exist in inner 答案:AC
exists:主要是检验外部查询的记录是否存在于内部的查询中,如果发现一条记录能匹配上的,马上就返回true(exists的返回是布尔型的,true/false),不再继续比对内部查询中的其他记录。
如果外部查询中还有其他记录,那就重新进行新一轮的比对。
24.第29题 非相关子查询的定义 non-correlated subquery
关键字:one or more sequential queries 答案:D
非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。
明确in常用语非相关子查询,当然也可以用于相关子查询,exists,not exists常用于相关子查询。
25.第30题 INTERVAL DAY TO SECOND
关键字:30 days 答案:B
时间格式:INTERVAL YEAR TO MONTH 转化间隔时间为年月,如:X years X months
INTERVAL DAY TO SECOND 转化间隔时间为日时,如:X days X hours
timestamp with local time zone 和timesatamp with time zone的最大区别就是,前者在用户提交时间给数据库的时,该类型会转换成数据库的时区来保存数据,即数据库保存的时间是数据库本地时区,当别的用户访问数据库时oracle会自动将该时间转换成当前客户端的时间。而后者不会变。
26.第31题 层次查询(hierarchical query)
关键字:hierarchical query,top-down buttom-up,specify 答案:B
层级查询允许从上到下,从底到上的查询,也允许加条件限制某些输出
如有表TU_HIER
有两个列col_sub和col_parent,分别代表子节点和父节点
select * from TU_HIER
--where col_sub <> '002'
CONNECT BY col_parent = PRIOR col_sub
--and col_sub <> '002'
start with col_sub = '001'
ORDER SIBLINGS BY col_sub
27.第32题 视图view
关键字:DISTINCT,OR REPLACE 答案:B
视图分为简单视图和复杂视图,简单允许做DML操作,而复杂则不允许,包含group,distinct,rownum等等,而视图为虚表,不保存数据。
28.第33题 select语句
关键字:return only,return multiple,ignore null 答案:ACE
很简单的一道题,主要是考max和group by 的输入数据。
29.第34题 join using使用方法
关键字:JOIN USING,qualifier 答案:D
natural join(自然连接)不需要指定关联字段,只要有字段相同即可,join using使用时,在using处指定互相关联的字段,但必须一样,然后如果是输出字段,则不需指定是那个表的字段,如:select id,a.name,b.accs from a join b using(id);
30.第35题 回滚 flashback
关键字:SECOND DEPT table 答案:B
flashback 只能回滚到最近一次删除的状态,而不能回滚到再之前的
31.第36题 Flashback Version Query(闪回版本查询)
关键字:Flashback Version Query 答案:B
Flashback Version Query查询记录修改版本,查询表在不同时间点的不同版本的数据,闪回版本查询只能对提交后的数据进行查询,此处delete并没有提交,所以数据应显示为上次提交时的数据32.第37题 timestamp to_date时间与字符转换关键字: 答案:C字段类型如果为timestamp,则比较的数据也得为时间格式,而不能为字符格式,需用to_date转换