oracle强化练习题,oracle练习题
编写简单的查询语句
1.显示部门表的全部信息
Select * from dept;
2.显示部门号码,部门名称
Selectdeptno,dname from dept;
3.显示以下字段及字符串的连接:员工名 ," 1个月的工资为: " ,工资 。如:Amy 1个月的工资为:8000
Select ename||’一个月的工资为:’|| sal fromemp;
4.显示员工姓名,参加工作时间,工作
Selectename,hiredate,job from emp;
5.显示员工姓名:别名为Name,年薪(13个月的月薪):别名为annual salary。 注:别名大小写
Select ename “Name”,(sal+nvl(comm.,0))*13 “annualsalary”from emp;
6.把员工姓名,工作名称(job)作为一个字符串显示
Select concat(ename,job) From emp;
7.显示以下字段及字符串的连接:员工名 ," 's job is " ,工作名称 。如:Amy'sjob is MANAGER 注:单引号需显示出
Select concat(concat(ename’’’s job is ‘) ,job)from emp;
8.显示员工表中部门号,工作名称,要求去掉重复值
Select distinct deptno,job From emp;
(1)创建表空间:
create tablespace your_name
datafile 'd:\your_name.dbf' size=50m
autoextend on next 10m maxsize=200m
extent management local autoallocate;
建表:
create table t_student(no Varchar2(11)primary key ,name Varchar2(10),sex Char(2) default '男')tablespace your_name;
create table t_student_score(no Varchar2(11),
cno Varchar2(10),
score numberic(3,1) check(score >0),constraint pk_nc primary key(no,cno),constraint fk_no foreign key (no) references t_student(no)
)tablespace your_name;
(2)创建用户:
creat user xiaoming
identified by abc123;
授权:
grant create function to xiaoming;
(3)SQL查询:
desc emp; 查看emp表的结构
3.1从emp表中检索雇员姓名。
select 雇员姓名 from scott.emp;
3.2从emp表中检索上级雇员编号,利用distinct关键字是上级雇员编号值唯一。
select distinct 雇员编号 from scott.emp;(这题没有表结构做不了)
3.3从emp表中检索工资超过1000的雇员信息。
select * from scott.emp where 工资>1000;
3.4利用like关键字,从emp表中检索雇员姓名中包含E字母的雇员信息。
select * from scott.emp where 雇员姓名='%E%' ;
(4)编程:
功能1:根据提供的雇员姓名(作为过程的参数),将该雇员的工资改为2000;
create or replace procedure P_1(ENAME VARCHAR2)
is
begin
update scott.emp set 工资=2000
where 雇员姓名=ename;
end p_1;
功能2:根据提供的雇员姓名,查询该雇员的上级领导人的姓名,并返回。
create or replace procedure p_2(ENAME VARCHAR2)
IS
BNAME VARCHAR2;
BEGIN
SELECT 上级领导人 INTO bname from scott.emp where 雇员姓名=ENAME;
END P_2;
功能3:这个JAVA类文件我没法写;
你这个题只有二十分、可是有二百分的题、不过刚好我没事干...余下全文>>
要练习容易,建立三个表,每个表有一个关联项,然后不停地写语句。比如学生表,选课表,课程表。题目,选课超过二门的学生有?选了全部课各的有?