内容发布更新时间 : 2024/12/23 10:17:58星期一 下面是文章的全部内容请认真阅读。
Oracle的sql语句范例 1. 表结构
Emp----员工信息表
Ename varchar2(30), --姓名 Empno number(5), --编号 Deptno number(5), --所在部门
Job varchar2(20), --工种(人员类别),如:manager 经理,clerk 办事员Hiredate Date --雇用日期
Hiredate Date, --雇佣日期 Comm number(6,2), --佣金 Sal number(6,2) --薪金
Dept-----部门表
Dname varchar2(30), --部门名 Deptno number(5), --部门号 Loc varchar2(50) --位置
2. 准备数据:
create table emp –创建员工信息表 (
Ename varchar2(30), --姓名 Empno number(5), --编号 Deptno number(5), --所在部门
Job varchar2(20), --工种(人员类别),如:manager 经理,clerk 办事员Hiredate 用日期
Hiredate Date --雇佣日期 Comm number(6,2), --佣金 Sal number(6,2) --薪金 )
insert into emp(Ename,Empno,Deptno,Job,Comm,Sal) values('刘涛',10001,10,'办事员',500,2000);
insert into emp(Ename,Empno,Deptno,Job,Comm,Sal) values('吴昊',10002,10,'办事员',650,2200);
insert into emp(Ename,Empno,Deptno,Job,Comm,Sal) values('唐丹丹',10002,20,'办事员',650,2200);
insert into emp(Ename,Empno,Deptno,Job,Comm,Sal) values('李阳杨',20001,20,'经理',980,3200);
insert into emp(Ename,Empno,Deptno,Job,Comm,Sal) values('李军',10003,30,'办事员',400,2500);
create table dept --部门表 (
Dname varchar2(30), --部门名
Date --雇 Deptno number(5), --部门号 Loc varchar2(50) --位置 )
insert into dept(Dname,Deptno,Loc) values('市场部',10,'辽宁大连'); insert into dept(Dname,Deptno,Loc) values('公关部',20,'辽宁沈阳'); insert into dept(Dname,Deptno,Loc) values('研发部',30,'深圳')
1、选择部门30中的雇员
2、列出所有办事员的姓名、编号和部门
3、找出佣金高于薪金的雇员
4、找出佣金高于薪金60%的雇员
5、找出部门10中所有经理和部门20中的所有办事员的详细资料
6、找出部门10中所有经理、部门20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料
7、找出收取佣金的雇员的不同工作
8、找出不收取佣金或收取的佣金低于100的雇员
9、找出各月最后一天受雇的所有雇员
10、找出早于25年之前受雇的雇员
11、显示只有首字母大写的所有雇员的姓名
12、显示正好为6个字符的雇员姓名
13、显示不带有'R'的雇员姓名
14、显示所有雇员的姓名的前三个字符
15、显示所有雇员的姓名,用a替换所有'A'
16、显示所有雇员的姓名以及满10年服务年限的日期
17、显示雇员的详细资料,按姓名排序
18、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
19、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序
20、显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序,将最早年份的项目排在最前面
21、显示在一个月为30天的情况下所有雇员的日薪金
22、找出在(任何年份的)2月受聘的所有雇员
23、对于每个雇员,显示其加入公司的天数
24、显示姓名字段的任何位置,包含 \的所有雇员的姓名
25、以年、月和日显示所有雇员的服务年限
Oracle笔试题
一、选择题
1.当你执行以下查询语句: SELECT empno,ename FROM emp
WHERE empno =7782 OR empno =7876;
在WHERE语句中,以下哪个操作符可以取代OR? A. IN
B. BETWEEN …… C. LIKE D. <= E. >=
2. 哪个实现 IF..THEN…ELSE 逻辑? A. INITCAP() B. REPLACE() C. DECODE() D. IFELSE()
3. 以下哪行有错? 1 SELECT deptno 2 FROM emp
3 GROUP BY deptno
4 HAVING COUNT(deptno)=
5 (SELECT max(count(deptno)) 6 FROM emp
7 GROUP BY deptno); A. Line 3 B. Line 4 C. Line 5 D. Line 7 E. 都没错.
4. 当一个程序执行了 SELECT...FOR UPDATE 语句, 以下哪个步骤必须需要完成? A. 执行 COMMIT or ROLLBACK 结束 transaction, 即使并没有数据改变。 B. 如果有数据改变,则需要执行commit or rollback 来结束 transaction。
C. 由于只有数据确实改变后,一个transaction 才会开始,所以现在不需要COMMIT or ROLLBACK 被执行。
5. 以下哪个命令可以被用来从表 STATE中 drop 列 UPDATE_DT ? A. ALTER TABLE STATE DROP COLUMN UPDATE_DT; B. ALTER TABLE STATE REMOVE COLUMN UPDATE_DT; C. DROP COLUMN UPDATE_DT FROM STATE; D. 你不能从这个表中DROP该列.
6. 哪个命令用来创建一个primary key constraint pk_books 在表 BOOKS, 列 ISBN上? 请选择一个。 A. create primary key on books(ISBN);
B. create constraint pk_books primary key on books(ISBN);
C. alter table books add constraint pk_books primary key (ISBN); D. alter table books add primary key (ISBN);
7. 以下哪行有错r? 1 X :=Y +200; 2 IF X <10 THEN 3 Y :=30;
4 ELSEIF X <40 THEN 5 Y :=20; 6 END IF;
A. Line 2 B. Line 3 C. Line 4 D. Line 5
8. 一个VIEW被以下语句创建,请问在该VIEW上可进行哪个操作? CREATE VIEW USA_STATES AS SELECT *FROM STATE WHERE CNT_CODE =1 WITH READ ONLY;
A. SELECT
B. SELECT , UPDATE C. SELECT , DELETE D. SELECT , INSERT