Oracle數據庫基礎階段測試題

1.Oracle系統結構中,Oracle服務分爲(OracleDatabase)和(OracleInstance)。
2.Oracle Database必需的三種文件爲( 數據文件(datafile))、(控制文件(controlfile))、(日誌文件(logfile))。
3.Oracle的內存結構包括兩類,分別(系統全局區(SGA))、(程序全局區(PGA))。
4.SQL的中文含義爲(結構化查詢語言)。
5.寫出SQL語言的分類,及每一類下的常用命令
數據查詢語言(DQL)select ...from ...where
數據操縱語言(DML)inert update delete
數據定義語言(DDL)create alter drop
數據控制語言(DCL)grant revoke commit rollback savepoint
6.請寫出啓動Oracle服務及監聽器的DOS命令。
Net start oracleserviceYC101
Lsnrctl start
7.請寫出在SQL*PLUS中保存當前緩存中語句的命令爲。(保存到C盤,文件名爲hr.sql)
Save c:/hr.sql (‘/' 可以不加)
8.描述Departments表結構命令。
Desc departments
9.請寫出6種以上Oracle常用數據類型。
Char, varchar, nchar, varchar2, number, long, date -------常用的類型
10.創建一個新帳號MOON,賦予CREATE SESSION與RESOURCE權限,登錄到MOON模式,創建部門表(編號,名稱)。
首先切換到sys賬號,然後創建用戶
Conn sys/password as sysdba
Create user MOON identified by MOON;
Grant create session,resource to MOON;
Conn MOON/MOON
Cerate table department
(
Depertment_id char(10) primary key,
Department_name varchar(20) not null
)
11.使用SELECT語句顯示當前系統時間,顯示格式爲如:2009-03-25 20:13:43
Select to_char(sysdate,' yyyy-mm-dd hh24:mi:ss') from dual;
12.查詢2005年1月1日到今天相隔的月數及天數,要求顯示整數。
MONTHS DAYS
---------- - ---------
50 1544
select trunc(months_between(
sysdate,to_date('2005-1-1','YYYY-MM-DD'))) MONTHS,
trunc(sysdate-to_date(‘2005-1-1','YYYY-MM-DD')) DAYS
from dual
13.查詢下一個星期一的日期。
select sysdate,next_day(sysdate,'星期一') from dual
14.查詢hr.employees表,將first_name與last_name連接在一起顯示,查詢結果必須是小寫字母。
如:
renske ladwig
james landry
select lower(concat(first_name||' '||last_namr)) FULLNAME,
from employees;
15.在HR.Emplloyees表中,找出所有First_name中含義'S'字母的員工。
select * from employees where first_name like '%S%'
16.查詢HR.Employees表中月薪大於5000元的員工信息,要求薪水顯示貨幣符號,並用逗號分隔。如$100,000.00
select to_char(salary,'$999,999.00') from employees
where salary >5000
17.顯示當前會話參數,並將當前會話地區修改爲AMERICA。
Select * from V$nls_parameters;
Alter session set nls_territory=' AMERICA'
18.年終時,對於所有銷售有關人員發放獎金,其中銷售管理人員額度爲薪水*佣金*0.15,銷售代表額度爲薪水*佣金*0.1,最後求所有員工的實發工資,並按降序排列。提示:銷售相關人員的實發工資爲月薪+佣金+獎金。
select last_name,
salary,
job_id,
CASE job_id WHEN 'SA_REP' THEN salary*COMMISSION_PCT *0.1*12+salary*12+salary*COMMISSION_PCT*12
WHEN 'SA_MAN' THEN salary*COMMISSION_PCT*12 *0.15+salary*12+salary*COMMISSION_PCT*12
ELSE salary*12
END "total_salary"
FROM employees
ORDER By salary desc
19.在當前時間上加2小時。
select to_char(sysdate+(1/24)*2,'yyyy-mm-dd hh24:mi:ss') from dual
20.求HR.Employees表中所有員工分配的部門數。提示:可以使用DISTINCT
1>select count(distinct(department_id))
from employees
2>select count(distinct department_id)
from employees
21.求HR.Employees中各個部門的平均工資。
select department_id, avg(salary) from employees group by(department_id)
22.查詢HR.Employees表,使用CASE...WHEN...THEN...END語句,把SALAY分爲高工資(>8000)、中等工資[5000,8000]及低工資(<5000)。
select salary,
case when salary>8000 then '高工資'
when salary between 5000 and 8000 then '中等工資'
when salary<5000 then '低工資'
end salary
from employees
23.查詢最高工資人員基本信息。提示:可使用子查詢
select * from employees
where salary=
(select max(salary) from employees)
24.下面是BI帳號及其狀態,請對BI解鎖,設置新密碼,並切換到BI帳號,查詢所有用戶表。(BI EXPIRED & LOCKED)
首先切換到sys賬號,然後創建用戶
Conn sys/password as sysdba
Alter user BI account unlock;
Password BI:BI
Conn BI/BI
Select * from dba_tables;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章