1z0-007题目笔记,记得有点乱

InStr函数是一个字符串函数,它的作用是返回某字符串在另一字符串中第一次出现的位置。

InStr函数的格式为:InStr([start, ]string1, string2[, compare])

 

nvl2(a,b,c) ,如果a不为null 则返回B,如果a为null则返回C

 

trunc实际上是truncate函数,字面意思是截断,截尾。函数的功能是将数字进行截断。
例如   tranc(1234.5678,2)的结果为1234.5600。tranc()并不四舍五入。再举例:  
tranc(1234.5678,0)的结果为1234.0000;tranc(1234.5678,-2)的结果为1200.0000。

SELECT ROUND( number, [ decimal_places ] ) FROM DUAL
decimal_places : 四捨五入 , 小數取幾位 ( 預設為 0 )
select round(123.456) from dual;              回傳 123
select round(123.456, 0) from dual;          回傳 123
select round(123.456, 1) from dual;          回傳 123.5
select round(123.456, 2) from dual;          回傳 123.46
select round(123.456, 3) from dual;          回傳 123.456
select round(-123.456, 2) from dual;        回傳 -123.46

 

decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)

 

NULLIF() 函数在expression1 与expression2 相等时返回NULL 值,若不相等时则返回expression1 的值

 

mod(number1,number2) 描述 两个数值相除并返回其余数。

oracle的数据库里有个函数LPAD(String a,int length,String addString). 2作用:把addString添加到a的左边,length 是返回值的长度
RPAD和LPAD(粘贴字符) RPAD 在列的右边粘贴字符. LPAD 在列的左边粘贴字符

 

like % 代表0或多个字符
   _代表一个字符
escape 转仪 %, _
exp: job_id like '%sa_%' escape '';
exp: job_id like '%sa@_%' escape '@';

 

多个表可以用 select * from table1 left join table2 on 条件1 left join table3 on 条件2 left join table4 on 条件3 where 条件4 的形式写。

 

insert into (select ... from ... where ... with check option) values ...
可以把那个子查询看成一个视图或者表,insert into table_name(or subquery) values();
1.对于update,有with check option,要保证update后,数据要被视图查询出来
2.对于delete,有无with check option都一样
4.对于insert,有with check option,要保证insert后,数据要被视图查询出来
对于没有where 子句的视图,使用with check option是多余的

则必须使用 WITH CHECK OPTION 定义该视图。这个选项可以确保数据库中正在修改的数据的完整性。如果在 INSERT 或 UPDATE 操作期间违反了条件,
则返回 SQL 错误。

 

INTERVAL数据类型用来存储两个时间戳之间的时间间隔
oracle支持两种INTEVAL类型,它们分别是YEAR TO MONTH和DAY TO SECOND

rollback to savepoint 
commit

 

using
他是给bind变量传入值用的,比如:
for i2 in 1..1000 loop
execute immediate ‘select * from tablex where id=:1‘ using i2;
end loop;

 

SELECT e.last_name, d.department_name, d.location_id
FROM employees e JOIN departments d --on e.department_id=d.department_id
USING (department_id );

这个语句被执行1000次,每次查询条件不一样,但是该语句只被parse一次

这里要注意:fmDD 和 fmDDSPTH之间的区别。
select to_char(sysdate,'fmDDSPTH "of" MONTH YYYY AM') TODAYS FROM DUAL;
select to_char(sysdate,'DDSPTH "of" MONTH YYYY AM') TODAYS FROM DUAL;

 

SELECT TO_CHAR(TO_DATE('19-Mar-2001','DD-MON-YYYY') ,'fmDdspth "of" Month YYYY fmHH:MI:SS AM') NEW_DATE
FROM dual;
把Mar 改成 3月就不报错了。
SELECT TO_CHAR(TO_DATE('19-3月-2001','DD-MON-YYYY') ,'fmDdspth "of" Month YYYY fmHH:MI:SS AM') NEW_DATE
FROM dual;

 

Oracle 中的natural join (自然连接)
虽然natural join(自然连接)实际上的用的比较少,但实际上这个连接是非常有用的,若能经常使用一下,实际上是非常方便的。

自然连接是在两张表中寻找那些数据类型和列名都相同的字段,然后自动地将他们连接起来,并返回所有符合条件按的结果。

reference ['refrəns]
n. 参考,出处,参照
Properties..
1. 属性

 

even if there are no employees in the departments and even if the departments are not yet assigned to a location.
即使没有员工的主管部门和即使部门还没有分配到一个地点。

regarding [ri'gɑ:diŋ]
prep. 关于,至于

aggregate ['ægrigeit]
n. 合计,总计,集合体
a. 合计的,集合的,聚合的
v. 聚集,集合,合计

parentheses
圆括号

exclude [iks'klu:d]
v. 除外,排除,拒绝
[计算机] 排除

aggregate ['ægrigeit]
n. 合计,总计,集合体
a. 合计的,集合的,聚合的
v. 聚集,集合,合计

specify   指定

manipulate [mə'nipjuleit] vt. 操作;操纵;巧妙地处理;篡改

What is true about joining tables through an equijoin?

A. You can join a maximum of two tables through an equijoin.
B. You can join a maximum of two columns through an equijoin.
C. You specify an equijoin condition in the SELECT or FROM clauses of a SELECT statement.
D. To join two tables through an equijoin, the columns in the join condition must be primary key and foreign
key columns.
E. You can join n tables (all having single column primary keys) in a SQL statement by specifying a minimum
of n-1 join conditions.

下面哪个关于等值连接的说法是正确的?
A 你最多只能做两个表的等值连接
B 等值连接最多只能连接两个字段
C 你能在select语句或者from语句中做等值连接
D 只能使用主键或外键做等值连接的条件
E 最少n-1个连接条件就能连接n张表(所有表的主键都只有一列)

毫无疑问,只有E是正确的

您可以选择一种方式赞助本站