oracle测试试题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【例1】创建一个名为IT_EMPLOYEES的表,它由编号EMPLOYEE_ID、名

FIRST_NAME、姓LAST_NAME、邮箱EMAIL、电话号码PHONE_NUMBER、部门编号JOB_ID、薪资SALARY和部门经理编号MANAGER_ID八个属性组成。

create table IT_EMPLOYEES

(

EMPLOYEE_ID NUMBER(6) not null unique,

FIRST_NAME VARCHAR2(20),

LAST_NAME VARCHAR2(25) not null,

EMAIL VARCHAR2(25),

PHONE_NUMBER VARCHAR(20),

JOB_ID VARCHAR2(10),

SALARY NUMBER(8,2),

MANAGER_ID NUMBER(6)

);

【例2】建立程序员的视图PROG_EMPLOYEES(JOB_ID=’IT_PROG’),其中隐含了视图的列名.

create view prog_employees

as

select employee_id,first_name,last_name,email,phone_number,salary,manager_id from it_employees

where job_id = 'IT_PROG';

【例3】执行下面的CREATE INDEX语句,创建索引:

CREATE INDEX IT_LASTNAME ON IT_EMPLOYEES(LAST_NAME);

【例4】将前文创建的视图PROG_EMPLOYEES删除.

DROP VIEW PROG_EMPLOYEES;

【例5】向IT_EMPLOYEES表中增加“雇员生日”列,其数据类型为日期型:ALTER TABLE IT_EMPLOYEES ADD BIRTHDATE DATE;

【例6】将IT_EMPLOYEES表的MANAGER_ID字段改为8位:

ALTER TABLE IT_EMPLOYEES MODIFY MANAGER_ID NUMBER(8);

【例7】删除IT_EMPLOYEES表EMPLOYEE_ID字段的UNIQUE约束:

ALTER TABLE IT_EMPLOYEES DROP UNIQUE(EMPLOYEE_ID);

【例8】创建表COUNTRIES时的列顺序为:COUNTRY_ID、COUNTRY_NAME、REGION_ID。

通过SELECT指定列,可以改变列的顺序。

SELECT REGION_ID,COUNTRY_NAME FROM COUNTRIES;

【例9】对employees表中薪金的调整,所有人员的薪金增加10%:

select employee_id,first_name,last_name,salary*(1+0.1) from employees;

【例10】在EMPLOYEES表中包含一个DEPARTMENT_ID列。假设,现在要检索该表中出现的所有部门,这时我们不希望有重复的部门出现,这时需要在DEPART MENT_ID列前面加上关键字DISTINCT。

select distinct department_id from employees;

【例11】编写一个查询,判断所FIRST_NAME列以"B"开头的雇员:

select employee_id,first name,last_name from employees

Where first_name like'B%';

【例12】查询出所有属于IT部门(DEPARTMENT_ID=60),并且薪金值大于2000的雇员。

select employee_id,first_name,last_name,salary from employees

where department_id=60 and salary>2000;

【例13】在下面的查询中,将选择具有不同部门的雇员信息:

select employee_id,ftrst name,last_name,department_id from employees

where department_id=60 or department_id=30;

【例14】使用EMPLOYEES进行NULL值的插入和查询:

insert into departments(department_id,department_name,manager_id)

values(300,'数据库',NULL);

【例15】下面的查询语句中,将使用ORDER BY子句对检索到的数据进行排序,该排列顺序是按照薪金从低到高的升序进行的:

select employee_id,first_name,last_name,salary

from employees

where salary>2000

order by salary;

【例16】以下的查询中,从EMPLOYEES表中选择相应的列,分析JOB_ID的SALARY 信息。

select job_id,salary from employees order by job_id;

【例17】使用GROUP BY子句对薪金记录进行分组,对于使用一些SQL函数计算每个JOB_ID的平均薪金(AVG)、所有薪金的总和(SUM),以及最高薪金(MAX)和各组的行数,如图3.16所示。

select job_id,avg(salary),sum(salary),max(salary),count(job_id) from employees group by job_id;

相关文档
最新文档