oracle练习题目
Oracle 考试试题(带答案)
![Oracle 考试试题(带答案)](https://img.taocdn.com/s3/m/ef38d8ea2cc58bd63186bd84.png)
a) b) c) d) 参考答案
OracleHOME_NAMETNSListener OracleServiceSID OracleHOME_NAMEAgent OracleHOME_NAMEHTTPServer
B
9) 在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则 Oracle 就将()表空间分配 给用户作为默认表空间。。
DATEPART EXTRACT TO_CHAR TRUNC
bc
5) 在Oracle中,有一个教师表teacher的结构如下: ID NUMBER(5) NAME VARCHAR2(25) EMAIL VARCHAR2(50) 下面哪个语句显示没有Email地址的教师姓名()。
a) b) c) d) 参考答案
a) b) c) d) 参考答案
OracleHOME_NAMETNSListener OracleServiceSID OracleHOME_NAMEAgent OracleHOME_NAMEHTTPServer
a
8) 在Windows操作系统中,Oracle的()服务是使用 iSQL*Plus必须的。
A
12) 在Oracle中,下面用于限制分组函数的返回值的子句是 ()。
a) WHERE b) HAVING c) ORDER BY d) 无法限定分组函数的返回值
参考答案 b
13) 在Oracle中,有一个名为seq的序列对象,以下语句能返 回序列值但不会引起序列值增加的是()。
a) b) c) d) 参考答案
%NOTFOUND %FOUND %ROWTYPE %ISOPEN %ROWCOUNT
c
15) 在Oracle中,当控制一个显式游标时,下面哪种命令包 含INTO子句()。
Oracle经典练习题及标准答案
![Oracle经典练习题及标准答案](https://img.taocdn.com/s3/m/784dbaee09a1284ac850ad02de80d4d8d15a0192.png)
Oracle经典练习题及标准答案oracle经典练习sql/*1、选择在部门30中员工的所有信息*/select * from scott.emp where deptno = '30'/*2、列出职位为(MANAGER)的员工的编号,姓名*/select empno, ename from scott.emp where job = 'MANAGER'/*3、找出奖金高于工资的员工*/select * from scott.emp where comm > sal/*4、找出每个员工奖金和工资的总和*/select ename, sal + nvl(comm, 0) from scott.emp/*5、找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK) */select *from scott.empwhere deptno = '10'and job = 'MANAGER'unionselect *from scott.empwhere job = 'CLERK'and deptno = '20'/*6、找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员工*/ select *from scott.empwhere job != 'MANAGER'and job != 'CLERK'and sal > 2000/*7、找出有奖金的员工的不同工作*/select distinct(job) from scott.emp where comm is not null /*8、找出没有奖金或者奖金低于500的员工*/select *from scott.empwhere comm is not nulland comm > 500/*9、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面*/select enamefrom scott.emporder by (months_between(sysdate, hiredate) / 12) descselect ename,hiredate from scott.emp order by hiredate/*10、找出每个月倒数第三天受雇的员工*/select * from scott.emp where hiredate = last_day(hiredate) - 2/*11、分别用case和decode函数列出员工所在的部门,deptno=10显示'部门10',deptno=20显示'部门20'deptno=30显示'部门30'deptno=40显示'部门40'否则为'其他部门'*/select ename,case deptnowhen 10 then'部门10'when 20 then'部门20'when 30 then'部门30'when 40 then'部门40'else'其他部门'end 工资情况from scott.empselect ename,decode(deptno,10,'部门10',20,'部门20',30,'部门30',40,'部门40','其他部门') 工资情况from scott.emp/*12、分组统计各部门下工资>500的员工的平均工资*/select avg(sal) from scott.emp where sal > 500 group by deptno/*13、统计各部门下平均工资大于500的部门*/select deptno from scott.emp group by deptno having avg(sal) > 500 /*14、算出部门30中得到最多奖金的员工奖金*/ select max(comm) from scott.emp where deptno = 30/*15、算出部门30中得到最多奖金的员工姓名*/select enamefrom scott.empwhere deptno = 30and comm = (select max(comm) from scott.emp where deptno = 30) /*16、算出每个职位的员工数和最低工资*/select count(ename), min(sal), job from scott.emp group by job/*17、列出员工表中每个部门的员工数,和部门no */select count(ename), deptno from scott.emp group by deptno/*18、得到工资大于自己部门平均工资的员工信息*/select *from scott.emp ewhere sal > (select avg(sal) from scott.emp where e.deptno = deptno)select *from scott.emp e1,(select avg(sal) sals, deptno from scott.emp group by deptno) e2where sal > salsand e1.deptno = e2.deptno/*19、分组统计每个部门下,每种职位的平均奖金(也要算没奖金的人)和总工资(包括奖金) */select avg(nvl(comm,0)), sum(sal + nvl(comm, 0))from scott.empgroup by deptno,job/*20、笛卡尔集*/select * from scott.emp, scott.dept/*21、显示员工ID,名字,直属主管ID,名字*/select empno,ename,mgr,(select ename from scott.emp e1 where e1.empno = e2.mgr) 直属主管名字from scott.emp e2/*22、DEPT表按照部门跟EMP表左关联*/select *fromscott.dept, scott.empwherescott.dept.deptno = scott.emp.deptno(+)/*23、使用此语句重复的内容不再显示了*/select distinct (job) from scott.emp/*24、重复的内容依然显示*/select *from scott.empUNION ALLselect * from scott.emp/*23和24题和22题是一样的*//*25、只显示了两个表中彼此重复的记录。
oracle试题答案解释版
![oracle试题答案解释版](https://img.taocdn.com/s3/m/85f0f60f9e3143323868937e.png)
要求20道判断、20道单选选择10道多选7道问答3道编程,再加20道填空一、单项选择题(每题1分,共20分)1、在Oracle中,一个用户拥有的所有数据库对象统称为(B )A)数据库B)模式C)表空间D)实例2、在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle 就将(D )表空间分配给用户作为默认表空间。
A) USER B) SYS C)DEFAULT D) SYSTEM3、在oracle中获取前10条的关键字是(D)A) top B)Limit C)first D) rownum解释:top 是sql server数据库的关键字,limit 是mysql数据库的关键字,first是informix 数据库的关键字4、在Oracle中,( B)操作符返回并集操作并不包括重复行A) Intersect B)Union C)Union all D) Minus解释:Intersect返回交集,union返回并集,不包括重复行,union all 返回并集,包括重复行,minus返回差集5、下面那个语句是错误的(D)A) create synonym dept_synon for scott。
deptB) create sequence dept_seque increment by 1C)alter sequence dept_seque increment by 2D)drop dept_synon6、oracle数据库中,通过( C)可以以最快的方式访问表中的一行.A) 主键B) 唯一索引C)rowid D) 全表扫描7、下面那个不是oracle程序设计中的循环语句(A)A)for… end for B) loop…end loopC)while…end loop D) for… end loop8、oracle存储结构正确的是(B)A) tablespace--segment--osblock——blockB) tablespace-—segment——extent——blockC)tablespace-—extent——segment--blockD) tablespace-—extent-—block –segment9、若tnsnames.ora文件中部分配置如下:xfhtdb =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = hello)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = scce)))则表明:(C)A) Oracle服务器所在的主机名为DEDICATEDB) Oracle服务器所在的主机名为scceC) 对应数据库的SID为scceD)对应数据库的SID为xfhtdb10、现在要启动数据库,那么下面哪一个启动语句是错误的(A)A) STRATUP NORMAL B) STRATUP FORCEC)STRATUP NOMOUNT D)STARTUP MOUNT11、授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是:( C )A) GRANT CHANGE ON SCOTT.EMP TO SAB) GRANT UPDATE ON SCOTT.EMP(SAL) TO SAC)GRANT UPDATE(SAL) ON SCOTT。
Oracle-100道选择题(附答案)
![Oracle-100道选择题(附答案)](https://img.taocdn.com/s3/m/16150edb7375a417876f8f1f.png)
1.下列不属于ORACLE的逻辑结构的是(C)A.区B.段C.数据文件D.表空间2. 下面哪个用户不是ORACLE缺省安装后就存在的用户(A)A . SYSDBAB. SYSTEMC. SCOTTD. SYS3.下面哪个操作会导致用户连接到ORACLE数据库,但不能创建表(A)A.授予了CONNECT的角色,但没有授予RESOURCE的角色B.没有授予用户系统管理员的角色C.数据库实例没有启动D.数据库监听没有启动4.函数通常用来计算累计排名,移动平均数和报表聚合。
(B)A . 汇总B. 分析C 分组D 单行5.带有(B)字句的SELECT语句可以在表的一行或多行放置排他锁。
A . FOR INSERTB. FOR UPDATEC. FOR DELETED. FOR REFRESH6.在Oracle中,你以SYSDBA登录,CUSTOMER表位于Mary用户方案中,下面哪条语句为数据库中的所有用户创建CUSTOMER表的同义词(B)。
CREATE PUBLIC SYNONYM cust ON mary.customer;CREATE PUBLIC SYNONYM cust FOR mary.customer;CREATE SYNONYM cust ON mary.customer FOR PUBLIC;不能创建CUSTOMER的公用同义词。
7. 在Oracle中,当FETCH语句从游标获得数据时,下面叙述正确的是(C)。
A.游标打开B.游标关闭C.当前记录的数据加载到变量中D.创建变量保存当前记录的数据8. 在Oracle中,下面关于函数描述正确的是(AD)。
A.SYSDATE函数返回Oracle服务器的日期和时间B.ROUND数字函数按四舍五入原则返回指定十进制数最靠近的整数C.ADD_MONTHS日期函数返回指定两个月份天数的和D.SUBSTR函数从字符串指定的位置返回指定长度的子串9. 阅读下面的PL/SQL程序块:BEGININSERT INTO employee(salary,last_name,first_name) VALUES(35000,’Wang’,'Fred’);SAVEPOINT save_a;INSERT INTO employee(salary,last_name,first_name) VALUES(40000,’Woo’,'David’);SAVEPOINT save_b;DELETE FROM employee WHERE dept_no=10; SAVEPOINT save_c;INSERT INTO employee(salary,last_name,first_name) VALUES(25000,’Lee’,'Bert’);ROLLBACK TO SAVEPOINT save_c;INSERT INTO employee(salary,last_name,first_name) VALUES(32000,’Chung’,'Mike’);ROLLBACK TO SAVEPOINT save_b;COMMIT;END;运行上面的程序,哪两个更改永久保存到数据库(CD)。
Oracle数据库试题100题(附答案)
![Oracle数据库试题100题(附答案)](https://img.taocdn.com/s3/m/e473d2b01b37f111f18583d049649b6648d70978.png)
Oracle数据库试题100题(附答案)1.当Oracle服务器启动时,下列哪种文件不是必须的(D)。
A.数据文件B.控制文件C.日志文件D.归档日志文件2.在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用户需要的数据(B)。
A.用户进程B.服务器进程C.日志写入进程(LGWRD.检查点进程(CKPT)3.在Oracle中,一个用户拥有的所有数据库对象统称为(B)。
A.数据库B.模式C.表空间D.实例4.在Oracle中,有一个教师表teacher的结构如下:ID NUMBER(5)NAME V ARCHAR2(25)EMAIL VARCHAR2(50)下面哪个语句显示没有Email地址的教师姓名(C)。
A.SELECT name FROM teacher WHERE email = NULL;B.SELECT name FROM teacher WHERE email NULL;C.SELECT name FROM teacher WHERE email IS NULL;D.SELECT name FROM teacher WHERE email IS NOT NULL;5.在Oracle数据库的逻辑结构中有以下组件:A 表空间B 数据块C 区D 段这些组件从大到小依次是(B)。
A.A→B→C→DB.A→D→C→BC.A→C→B→DD.D→A→C→B6.在Windows操作系统中,Oracle的(A)服务监听并接受来自客户端应用程序的连接请求。
A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer7.在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle 就将(B)表空间分配给用户作为默认表空间。
Oracle题库
![Oracle题库](https://img.taocdn.com/s3/m/cfc47baf970590c69ec3d5bbfd0a79563c1ed4ad.png)
Oracle题库⼀、选择题1、对于Oracle数据库软件的应⽤,主要分为哪两⼤块(AB )。
〖2个答案〗A.开发B.管理C.安装D.调试2、以下哪项不是Oracle数据库物理组件的类型(D)。
〖1个答案〗A. 数据⽂件B. 控制⽂件C. ⽇志⽂件D. 表空间3、以下哪项不是Oracle数据库的逻辑组件的类型(D)。
〖1个答案〗A. 表空间B. 段C. 扩展区D. ⽇志⽂件4、关于数据控制语⾔中,收回所授予的权限的语句是(B)。
〖1个答案〗A. CreateB. RevokeC. GrantD. Update5、Oracle数据库中,取余数的运算符是(B)。
〖1个答案〗A. %B. modC. /D. ||6、Oracle数据库中,连接字符串的运算符是( D)。
〖1个答案〗A. +B. &C. isD. ||7、Oracle数据库中返回字符串长度的函数是(D)。
〖1个答案〗C. InStrD. Length8、Oracle数据库中按指定的精度进⾏四舍五⼊的函数是(C)。
〖1个答案〗A. SignB. TruncC. RoundD. Mod9、转换⽇期类型为字符串的转换函数是(C)。
〖1个答案〗A. to_dateB. to_datetimeC. to_charD. to_number10、在数据库中,对象Index表⽰(D)。
〖1个答案〗A.同义词B.表C.包D.索引11、关于通配符中的“%”,以下说法正确的两项是(BD)。
〖2个答案〗A. 代表任意⼀个字符,与Like结合使⽤B. 代表任意多个字符,与Like结合使⽤C. 代表任意⼀个字符,在Like后的表达式中只能使⽤⼀次“%”D. 代表任意多个字符,在Like后的表达式中可以使⽤多次“%”12、要统计某表中记录的总个数,以下哪项是正确的SQL语句(C)。
〖1个答案〗A. select Max(*) from 表名B. select Sum(*) from 表名C. select Count(*) from 表名D. select Min(*) from 表名13、要求表中数据的最⼤值,应使⽤什么函数(A)。
Oracle基础(习题卷3)
![Oracle基础(习题卷3)](https://img.taocdn.com/s3/m/45dd5377f011f18583d049649b6648d7c1c708f5.png)
Oracle基础(习题卷3)第1部分:单项选择题,共63题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]如果想要配置Oracle 以使用校验和来验证数据块,将初始化参数()设置为TRUE 。
A)DB_BLOCK 。
B)DB_EXTENT_CHECKSUM 。
C)DB_BLOCK_CHECKSUM 。
D)DB_SEQENT_CHECKSUM 。
答案:C解析:2.[单选题]()是ORACLE 最基本的逻辑存储单位。
A)盘区。
B)段。
C)表空间。
D)数据块。
答案:D解析:3.[单选题]请看一个 SQL 语句:ALTER USER jinlian DEFAULT ROLL ALL;以上这个 DDL 语句将完成下面的哪一项工作?( )A)赋予 jianlian 用户 ALL 这个角色B)将所有的角色都设置成 jinlian 用户的默认角色C)移除 jinlian 用户的所有默认角色D)没有完成任何工作,因为这个命令将不会执行答案:B解析:4.[单选题]()是在分区中使用范围分区分区数据,而在子分区中使用散列分区方法,它适合于历史数据和条块数据,改善范围分区及其数据放置的管理性,提供了散列分区的并行机制优点A)列表分区。
B)组合分区。
C)交叉分区。
D)时间分区。
答案:B解析:5.[单选题]INSERT INTO TEST VALUES(‘&ID’, ’&NAME’); 语句在执行时将( )A)编译错:提示变量未定义B)运行错:提示不能识别符号C)将值&ID和&NAME插入到表中D)提示用户输入输入ID和NAME的值,再将输入值插入表中答案:D解析:A)执行游标B)执行SQL语句的UUPDATE语句C)对要更新的列进行加锁D)都不对答案:B解析:7.[单选题]在Oracl中,哪种表分区维护操作可以将非分区表转换为分区表的分区( )。
A)添加分区B)结合分区C)交换表分区D)合并分区答案:C解析:8.[单选题]当用SQL*Plus已经登录到某数据库,此时想登录到另一数据库,应该用命令( )。
oracle期末考试题及答案
![oracle期末考试题及答案](https://img.taocdn.com/s3/m/d1544d9d5ebfc77da26925c52cc58bd630869344.png)
oracle期末考试题及答案一、选择题(每题2分,共20分)1. Oracle数据库中的用户和模式是什么关系?A. 完全相同B. 完全不同C. 模式是用户的集合D. 用户是模式的集合答案:C2. 在Oracle数据库中,以下哪个命令用于查看当前用户?A. SELECT USER FROM DUAL;B. SELECT CURRENT_USER FROM DUAL;C. SELECT SESSION_USER FROM DUAL;D. SELECT SYSTEM_USER FROM DUAL;答案:A3. Oracle数据库中的哪个参数用于设置数据库的字符集?A. DB_CHARSETB. NLS_CHARACTERSETC. DB_LANGUAGED. NLS_LANGUAGE答案:B4. 在Oracle数据库中,以下哪个不是SQL语句?A. SELECTB. UPDATEC. DELETED. PRINT答案:D5. Oracle数据库中的触发器可以在哪些时刻执行?A. 数据插入前B. 数据更新前C. 数据删除后D. 数据查询时答案:ABC二、填空题(每空2分,共20分)1. Oracle数据库的默认表空间名称是 _ 。
答案:SYSTEM2. 在Oracle数据库中,用来查看当前数据库版本信息的命令是 _ 。
答案:SELECT * FROM V$VERSION;3. Oracle数据库中,用来创建索引的SQL语句是 _ 。
答案:CREATE INDEX;4. 在Oracle数据库中,存储过程和函数的区别在于存储过程可以有_ ,而函数不能。
答案:OUT参数5. Oracle数据库中,用于实现数据完整性的约束包括主键约束、外键约束、 _ 和CHECK约束。
答案:UNIQUE约束三、简答题(每题10分,共30分)1. 解释Oracle数据库中的视图是什么,并说明其优点。
答案:视图是Oracle数据库中的一种虚拟表,它是基于一个或多个表的查询结果。
oracle练习题(打印版)
![oracle练习题(打印版)](https://img.taocdn.com/s3/m/4ef80d51591b6bd97f192279168884868762b83a.png)
oracle练习题(打印版)### Oracle数据库练习题#### 一、选择题1. Oracle数据库中,哪个命令用于创建表?- A. CREATE TABLE- B. CREATE DATABASE- C. DROP TABLE- D. ALTER TABLE2. 以下哪个不是Oracle数据库的数据类型?- A. NUMBER- B. CHAR- C. DATE- D. IMAGE3. 在Oracle数据库中,哪个命令用于删除表?- A. DELETE FROM- B. DROP TABLE- C. REMOVE TABLE- D. ERASE TABLE4. Oracle数据库中,如何查看当前用户?- A. SELECT USER FROM DUAL;- B. SELECT CURRENT_USER FROM DUAL;- C. SELECT USERNAME FROM ALL_USERS;- D. SELECT CURRENT_USER FROM ALL_USERS;5. 以下哪个命令用于在Oracle数据库中创建索引?- A. CREATE INDEX- B. CREATE KEY- C. CREATE CONSTRAINT- D. CREATE UNIQUE#### 二、填空题1. 在Oracle数据库中,使用____命令可以查看表结构。
2. Oracle数据库中,使用____命令可以查看当前数据库的所有表。
3. 要删除Oracle数据库中的行,可以使用____命令。
4. Oracle数据库中,____用于存储二进制数据。
5. Oracle数据库中,____命令用于查看数据库中所有的索引。
#### 三、简答题1. 描述Oracle数据库中事务的ACID属性。
2. 解释Oracle数据库中的锁定机制。
3. 说明Oracle数据库中视图的作用。
#### 四、操作题1. 创建一个名为`Employees`的表,包含以下字段:- `EmployeeID` NUMBER(10) PRIMARY KEY,- `FirstName` VARCHAR2(50),- `LastName` VARCHAR2(50),- `HireDate` DATE,- `Salary` NUMBER(10, 2),- `DepartmentID` NUMBER(10).2. 向`Employees`表中插入以下数据:- `EmployeeID`: 1001, `FirstName`: 'John', `LastName`:'Doe', `HireDate`: '2023-01-01', `Salary`: 70000,`DepartmentID`: 101.- `EmployeeID`: 1002, `FirstName`: 'Jane', `LastName`:'Smith', `HireDate`: '2023-02-15', `Salary`: 50000,`DepartmentID`: 102.3. 编写一个查询,显示所有员工的姓名和工资,按工资从高到低排序。
Oracle_练习与答案
![Oracle_练习与答案](https://img.taocdn.com/s3/m/7669da7d2af90242a895e5bd.png)
Oracle_练习与答案1.求部门中薪水最高的人select ename,sal,emp.deptno from empjoin (select deptno,max(sal) max_sal from emp group by deptno) ton (emp.deptno = t.deptno and emp.sal = t.max_sal);2.求部门平均薪水的等级select deptno, avg_sal, grade from(select deptno,avg(sal) avg_sal from emp group by deptno) tjoin salgradeon (t.avg_sal between salgrade.losal and salgrade.hisal);3.求部门平均的薪水等级select deptno, avg(grade) avg_sal_grade from(select deptno, grade from empjoin salgrade on emp.sal between salgrade.losal and salgrade.hisal) group by deptno;4.雇员中有哪些人是经理人select distinct e2.ename manager from emp e1 join emp e2 on e1.mgr = e2.empno;select ename from emp where empno in (select mgr from emp);5.不准用组函数,求薪水的最高值select distinct sal max_sal from empwhere sal not in(select e1.sal e1_sal from emp e1 join emp e2 on e1.sal < e2.sal);6.求平均薪水最高的部门的部门编号select deptno, avg_sal from(select deptno, avg(sal) avg_sal from emp group by deptno) where avg_sal =(select max(avg_sal) from(select avg(sal) avg_sal from emp group by deptno));组函数嵌套写法(对多可以嵌套一次,group by 只对内层函数有效) select deptno, avg_sal from(select deptno, avg(sal) avg_sal from emp group by deptno) where avg_sal =(select max(avg(sal)) from emp group by deptno);7.求平均薪水最高的部门的部门名称select t1.deptno, dname, avg_sal from(select deptno,avg(sal) avg_sal from emp group by deptno) t1 join dept on t1.deptno = dept.deptnowhere avg_sal =(select max(avg_sal) from(select deptno,avg(sal) avg_sal from emp group by deptno) );select dname from deptwhere deptno =(select deptno from(select deptno,avg(sal) avg_sal from emp group by deptno) where avg_sal =(select max(avg_sal) from(select deptno,avg(sal) avg_sal from emp group by deptno) ));8.求平均薪水的等级最低的部门的部门名称select dname from deptjoin(select deptno, grade from(select deptno, avg(sal) avg_sal from emp group by deptno) t join salgradeon (t.avg_sal between salgrade.losal and salgrade.hisal)) ton dept.deptno = t.deptnowhere t.grade =(select min(grade) from(select avg(sal) avg_sal from emp group by deptno) tjoin salgradeon (t.avg_sal between salgrade.losal and salgrade.hisal));9.求部门经理人中平均薪水最低的部门名称select dname from(select deptno, avg(sal) avg_sal from empwhere empno in (select mgr from emp)group by deptno) tjoin dept on t.deptno = dept.deptnowhere avg_sal =(select min(avg_sal) from(select avg(sal) avg_sal from empwhere empno in (select mgr from emp)group by deptno) t);10.求比普通员工的最高薪水还要高的经理人名称(not in) select ename from emp where empnoin (select mgr from emp) and sal >(select max(sal) from(select e2.sal fromemp e1 right join emp e2 on e1.mgr = e2.empno where e1.ename is null) t);select ename from emp where empnoin (select mgr from emp) and sal >(select max(sal) from emp where empno not in(select distinct mgr from emp where mgr is not null));//NOT IN遇到NULL则返回NULL,必须排除NULL值11.求薪水最高的前5名雇员select empno,ename from(select * from emp order by sal desc)where rownum<=5;12.求薪水最高的第6到第10名雇员(!important)select ename,sal from(select t.*,rownum r from(select * from emp order by sal desc) t) where r>=6 and r<=10;13.求最后入职的5名员工select ename, to_char(hiredate,'YYYY"年"MM"月"DD"日"') hiredate from (select t.*,rownum r from(select * from emp order by hiredate desc)t)where r<=5;select ename, to_char(hiredate,'YYYY"年"MM"月"DD"日"') hiredate from (select t.*,rownum r from(select * from emp order by hiredate)t)where r>(select count(*)-5 from emp);P。
Oracle测试题(卷)+答案解析
![Oracle测试题(卷)+答案解析](https://img.taocdn.com/s3/m/2cdcb43b6fdb6f1aff00bed5b9f3f90f77c64d46.png)
Oracle测试题(卷)+答案解析1) PL/SQL块中可以使用下列()命令。
(选择两项)a) TRUNCATEb) DELETEc) SA VEPOINTd) ALTER TABLE2) 授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是(B)〔选择一项〕a) GRANT CHANGE ON SCOTT.EMP TO SAb) GRANT UPDA TE ON SCOTT.EMP(SAL) TO SAc) GRANT UPDA TE (SAL) ON SCOTT.EMP TO SAd) GRANT MODIFY ON SCOTT.EMP(SAL) TO SA3) EMP表有14条记录,则语句SELECT ‘Aptech’FROM EMP 的执行结果是(C)〔选择一项〕a) Aptechb) 无输出c) 14行Aptechd) 编译出错4) PL/SQL块中哪几部分是可选的()〔选择二项〕a) Declareb) Beginc) Exceptiond) Constant5) 在创建序列的过程中,下列()选项指定序列在达到最大值或最小值后,将继续从头开始生成值。
(选择一项)a) Cycleb) Nocyclec) Cached) Nocache6) 同义词有以下()用途。
(选择三项)a) 简化SQL 语句b) 隐藏对象的名称和所有者c) 提供对对象的公共访问d) 显示对象的名称和所有者7) Oracle中用来释放锁的语句有()〔选择二项〕a) commitb) Drop lockc) rollbackd) unlock8) 关于类型定义Number(9,2)说确的有()〔选择一项〕a) 整数部分9位,小数部分2位,共11位b) 整数部分7位,小数部分2位,共9位c) 整数部分6位,小数点一位,小数部分2位,共9位d) 以上说法均不正确9) 下列哪种Lob类型用来存储数据库以外的操作系统文件()〔选择一项〕a) CLOBb) BLOBc) CFILEd) BFILE10) Oracle中的三种系统文件分别是()〔选择三项〕a) 数据文件b) 归档文件c) 日志文件d) 控制文件11) 下列哪项不是Oracle中常用的分区方法?()〔选择一项〕a) 围分区b) 散列分区c) 列表分区d) 条件分区12) 查看Test中名称为P1的分区中的记录的查询语句为()〔选择一项〕a) Select * from Test Where PartitionName=’p1’b) Select * from Test(p1)c) Select * from Test Partition(p1);d) 以上均正确13) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕a) 从MinValue重新开始循环b) 重复使用MaxValue 值c) 执行出错d) 使用随机值14) 下列哪项是创建索引组织表所必需的()〔选一项〕a) Primary Keyb) Order Byc) Group Byd) 以上均不是15) 若表的某字段值存在大量的重复,则基于该字段适合创建哪种索引?()〔选一项〕a) 标准索引b) 唯一索引c) 位图索引d) 分区索引16) 在PL/SQL块中定义一个名为PI值为3.14的Real型常量的语法是()〔选一项〕a) A.Pi Const Real=3.14;b) B.Pi Real Const =3.14;c) C.Constant Pi Real:=3.14d) D.Pi Constant Real:=3.1417) 22.当Select语句没有返回行时,将引发下列哪个异常?()[选择一项]a) A.No_rows_foundb) B.No_data_foundc) C.No_Data_rows_foundd) D.Invalid_Number18) Oracle中提供的两种游标是()〔选择二项〕a) A.隐式游标b) B.静态游标c) C.REF游标d) D.显式游标19) 若Emp表中有14条记录,则用户执行了以下操作,结果是:()〔选择一项〕Cursor mycur is Select * From emp;。
Oracle基础(习题卷1)
![Oracle基础(习题卷1)](https://img.taocdn.com/s3/m/e78bf1b67d1cfad6195f312b3169a4517723e5f5.png)
Oracle基础(习题卷1)第1部分:单项选择题,共63题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]以下()用户默认拥有SYSDBA权限A)A-SYSTEMB)B-SYSC)C-SAD)D-DBADMIN答案:B解析:2.[单选题]你使用 IMMEDIATE 选项关闭数据库实例。
考虑打开数据库需要执行的步骤:1. 分配 SGA2. 读取控制文件3. 读取日志文件4. 开始实例恢复5. 启动后台进程6. 检查数据文件一致性7. 读取 spfile 或者 pfile哪个选项是正确的关于这些步骤()A)7, 1, 5, 2, 3, 6, 4B)1, 5, 7, 2, 3, 6; step 4 is not requiredC)7, 1, 5, 2, 3, 6 step 4 is not requiredD)1, 2, 3, 5, 6, 4; step 7 is not required答案:C解析:3.[单选题]执行下面的命令备份 USERS 表空间SQL> ALTER TABLESPACE users BEGIN BACKUP;ALTER TABLESPACE users BEGIN BACKUP*ERROR at line 1:ORA-01123: cannot start online backup;media recovery not enabled什么原因导致整个错误()A)MTTR Advisor 禁用B)数据库处于 NOARCHIVELOG 模式C)表空间已经处于备份模式D)Flash Recovery Area 没有配置答案:B解析:4.[单选题]当执行介质数据库恢复时,有个归档日志文件丢失或者损坏,那么此时只能执行哪种操作?什么A)Until SCNB)Until timeC)Recover using backup control file.D)Until cancel答案:D解析:5.[单选题]oracle逻辑存储结构正确的是( )A)tablespace--segment--osblock--blockB)tablespace--segment--extent--blockC)tablespace--extent--segment--blockD)tablespace--extent--block -segment答案:B解析:6.[单选题]如何将变量v_row 定义为emp表的记录类型( )A)v_row emp%type;B)v_row emp%record;C)v_row emp%tabletype;D)v_row emp%rowtype;答案:D解析:7.[单选题]The schema SALES exists in two databases, ORCL1 and ORCL2, and has the same password,SALES123. User SALES has CREATE DATABASE LINK and CREATE SESSION privileges on bothDatabases.Eaxmine these command:Conn SALES/SALES123CREATE DATABASE LINK orcl2 USING ‘orcl12’;What is the outcome of executing these commands in the ORCL1 database?A)ORCL2 is created as a shared database link to connect multiple sessions to the SALES schema in the ORCL2 databaseB)ORCL2 database link creation failsC)ORCL2 is created as a private database link to connect to only the SALES schema in the ORCL2 databaseD)ORCL2 is created as a public link to connect a single session to the SALES schema in the ORCL2 database答案:C解析:8.[单选题]分析以下的SQL 命令:SELECT manufacturer_idFROM inventoryWHERE manufacturer_id LIKE '%N\%P\%O%' ESCAPE '\';命令执行的返回结果是( )。
(完整word版)Oracle测试题
![(完整word版)Oracle测试题](https://img.taocdn.com/s3/m/0abbccc4647d27284a73511a.png)
ORACLE测试题一、选择题:(本题共20个小题,每小题2分,共40分)1。
下列哪个子句实现对一个结果集进行分组和汇总( D )。
A.HAVINGB.ORDER BY C。
WHERE D.GROUP BY2.在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle 就将( C )表空间分配给用户作为默认表空间。
A.HR B.SCOTT C.SYSTEM D.SYS3。
有字符串数据"test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为( A )A。
10 4 B。
4 4 C。
10 10 D. 4 104.在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO子句()。
A. FETCH B。
CLOSE C。
OPEN D。
CURSOR5. 在Oracle中,有一个教师表teacher的结构如下:ID NUMBER(5),NAME VARCHAR2(25),EMAIL VARCHAR2(50)下面哪个语句显示没有Email地址的教师姓名(C)A.SELECT name FROM teacher WHERE email = NULL;B.SELECT name FROM teacher WHERE email <> NULL;C.SELECT name FROM teacher WHERE email IS NULL;D.SELECT name FROM teacher WHERE email IS NOT NULL;6。
如果a表原本是空表,请问执行下列语句后,以下哪个表述正确(A)insert into a values(1,'abc’,’1’);insert into a values(2,’abc’,’2’);create table b as select * from a;rollback;A.a表b表都没有数据B.a表b表都有两行数C.a表有数据,b表没有数据D.a表没有数据,b表有数据7. 如何删除sales表中产品类型为toys的profits列的列值?BA。
oracle练习题
![oracle练习题](https://img.taocdn.com/s3/m/d4a08f3324c52cc58bd63186bceb19e8b9f6ec66.png)
Oracle 练习题一、基本概念1. Oracle 数据库是一种什么类型的数据库管理系统?2. 请简述 Oracle 数据库的主要特点。
3. Oracle 数据库中的表空间有什么作用?4. 什么是 Oracle 数据库的实例?5. Oracle 数据库中的数据字典是什么?二、SQL 基础1. 数据定义语言(DDL)1. 如何创建一个名为 `employees` 的表,包含字段`employee_id`(整数型),`employee_name`(字符串型)和`salary`(浮点型)?2. 如何修改表 `employees`,增加一个 `department_id` 字段?3. 如何删除表 `employees`?4. 如何重命名表 `employees` 为 `staff`?2. 数据操纵语言(DML)1. 向 `employees` 表插入一条新记录,`employee_id` 为 1001,`employee_name` 为 '',`salary` 为 8000。
2. 更新 `employees` 表中 `employee_id` 为 1001 的记录,将`salary` 修改为 9000。
3. 删除 `employees` 表中 `employee_id` 为 1001 的记录。
4. 如何查询 `employees` 表中 `salary` 大于 8000 的所有员工信息?3. 数据查询语言(DQL)1. 查询 `employees` 表中所有员工的信息。
2. 查询 `employees` 表中 `department_id` 为 2 的所有员工信息。
3. 查询 `employees` 表中 `salary` 最低的员工信息。
4. 查询 `employees` 表中按 `salary` 升序排列的前 5 条记录。
4. 数据控制语言(DCL)1. 如何给用户 `user1` 授予对 `employees` 表的查询权限?2. 如何撤销用户 `user1` 对 `employees` 表的查询权限?3. 如何创建一个角色 `role1`,包含对 `employees` 表的增、删、改、查权限?4. 如何将角色 `role1` 授权给用户 `user2`?三、函数与表达式1. 如何使用 Oracle 函数计算 `employees` 表中所有员工的年薪?2. 编写一个查询,返回 `employees` 表中 `employee_name` 的长度。
oracle练习题及答案
![oracle练习题及答案](https://img.taocdn.com/s3/m/744521164693daef5ff73dd0.png)
o r a c l e练习题及答案(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--试题一一、填空题(每小题4分,共20分)1、数据库管理技术经历了___人工管理、文件系统、数据库系统__三个阶段2、数据库三级数据结构是:外模式、模式、内模式3、Oracle数据库中,SGA由_数据库缓冲区,重做日志缓冲区,共享池组成4、在Oracle数据库中,完正性约束类型有:Primay key约束。
Foreign key约束,Unique约束,check约束,not need约束5、PL/SQL中游标操作包括:声明游标,打开游标,提取游标,关闭游标二、正误判断题(每小题2分,共20分)1、数据库中存储的基本对象是数据(T)2、数据库系统的核心是DBMS(T)3、关系操作的特点是集合操作(T)4、关系代数中五种基本运算是并、差、选择、投影、连接(F)5、Oracle进程就是服务器进程(F)6、oraclet系统中SGA所有用户进程和服务器进程所共享(T)7、oracle数据库系统中数据块的大小与操作系统有关(T)8、oracle数据库系统中,启动数据库和第一步是启动一个数据库实例(T)9、PL/SQL中游标的数据是可以改变的(F)10、数据库概念模型主要用于数据库概念结构设计(T)三、简答题(每小题7分,共35分)1、何谓数据与程序的逻辑独立性和物理独立性2、试述关系代数中等值连接与自然连接的区别与联系3、何谓数据库,数据库设计一般分为哪些阶段4、简述Oracle逻辑数据库的组成5、试任举一例说明游标的使用方法五、设有雇员表emp(empno,ename,age,sal,tel,deptno),其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话deptno-----部门号。
请按下列要求分别晨SQL*PLUS下编程。
oracle习题及答案
![oracle习题及答案](https://img.taocdn.com/s3/m/c4a2c1e80975f46527d3e139.png)
1.查询工资大于12000的员工姓名和工资Select last_name||' '||first_name,salary from employees where salary >12000;2.查询员工号为176的员工的姓名和部门号Select last_name||' '||first_name,department_id from employees where employee_id=176;3.选择工资不在5000到12000的员工的姓名和工资Select last_name||' '||first_name,salary from employees where salary not between 5000 and 12000;4.选择雇用时间在1998-02-01到1998-05-01之间的员工姓名,job_id和雇用时间Select last_name||' '||first_name,job_id,hire_date from employees where hire_date between '1-2月-98' and '1-5月-98';5.选择在20或50号部门工作的员工姓名和部门号Select last_name||' '||first_name,department_id from employees where department_id in (20,50);6.选择在1994年雇用的员工的姓名和雇用时间Select last_name||' '||first_name,hire_date from employees where hire_date like '%94';7.选择公司中没有管理者的员工姓名及job_idSelect last_name||' '||first_name,job_id from employees where Manger_id is null;8.选择公司中有奖金的员工姓名,工资和奖金Select last_name||' '||first_name,salary,commission_pct from employees where commission_pct is not null;9.选择员工姓名的第三个字母是a的员工姓名Select last_name||' '||first_name from employees where last_name||' '||first_name like '___a%';10.选择姓名中有字母a和e的员工姓名Select last_name||' '||first_name from employees where last_name||first_name like '%a%e%' or last_name||first_name like '%e%a%';多表查询11.显示所有员工的姓名,部门号和部门名称。
Oracle基础(习题卷8)
![Oracle基础(习题卷8)](https://img.taocdn.com/s3/m/abc67a2c1fb91a37f111f18583d049649b660e95.png)
Oracle基础(习题卷8)第1部分:单项选择题,共63题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]下列()不是一个角色A)CONNECTB)DBAC)RESOURCED)CREATE SESSION答案:D解析:2.[单选题]在以下命令中,一个使用哪一个来激活(开启)一个角色?( )A)SET ROLLB)ALTER USERC)CREATE ROLED)ALTER SYSTEM答案:A解析:3.[单选题]当一个段需要额外的磁盘空间时,应该增加哪一种数据库的逻辑组件?( )A)区段( extents)B)表空间C)数据库块D)操作系统块答案:A解析:4.[单选题]存储数据的逻辑单位,按大小依次为()。
A)表空间、数据块、区和段B)区、表空间、数据块和段C)段、区、表空间和数据块D)表空间、段、区和数据块答案:D解析:5.[单选题]A non-correlated subquery can be defined as . (Choose the best answer.)A)A set of one or more sequential queries in which generally the result of the inner query is used as the search value in the outer query.B)A set of sequential queries, all of which must return values from the same table.C)A set of sequential queries, all of which must always return a single value.D)A SELECT statement that can be embedded in a clause of another SELECT statement only.答案:A解析:C)alter system remove user brent cascade;D)drop user brent cascade;答案:D解析:7.[单选题]系统事件触发器共支持5种系统事件,下列()事件不会激发触发器。
Oracle经典练习题(很全面)
![Oracle经典练习题(很全面)](https://img.taocdn.com/s3/m/6bcf04f20c22590103029d04.png)
Oracle 经典练习题一.创建一个简单的PL/SQL程序块1.编写一个程序块,从emp表中显示名为“SMITH”的雇员的薪水和职位。
declarev_emp emp%rowtype;beginselect * into v_emp from emp where ename='SMITH';dbms_output.put_line('员工的工作是:'||v_emp.job||' ;他的薪水是:'||v_emp.sal);end;2.编写一个程序块,接受用户输入一个部门号,从dept表中显示该部门的名称与所在位置。
方法一:(传统方法)declarepname dept.dname%type;ploc dept.loc%type;pdeptno dept.deptno%type;beginpdeptno:=&请输入部门编号;select dname,loc into pname,ploc from dept where deptno=pdeptno; dbms_output.put_line('部门名称: '||pname||'所在位置:'||ploc); exception –异常处理when no_data_foundthen dbms_output.put_line('你输入的部门编号有误!!');when othersthen dbms_output.put_line('其他异常');end;方法二:(使用%rowtype)declareerow dept%rowtype;beginselect * into erow from dept where deptno=&请输入部门编号;dbms_output.put_line(erow.dname||'--'||erow.loc);exceptionwhen no_data_foundthen dbms_output.put_line('你输入的部门号有误');when othersthen dbms_output.put_line('其他异常');end;3.编写一个程序块,利用%type属性,接受一个雇员号,从emp表中显示该雇员的整体薪水(即,薪水加佣金)。
16_Oracle基础练习题16
![16_Oracle基础练习题16](https://img.taocdn.com/s3/m/ec2282f4a5e9856a561260f4.png)
[多选题]1.请选择以下那几项是oracle 客户端的链接工具:()A、IE 浏览器B、SQL*PLUSC、PLSQL DeveloperD、以上答案均不对答案: ABC2. ORACLE 常用的约束条件类型( )A、PRIMARYB、FOREIGNC、UNIQUED、CHECK答案: ABCD3.在oracle 环境下,需要创建表空间,当数据超过表空间大小时,要对表空间进行扩充,以下选项中扩充方式正确的有:()A、添加数据文件B、改变数据文件的大小C、允许数据文件自动扩展D、表空间不能再用重新创建表空间。
答案: ABC4.表命名时需要遵循的规则中选择正确的是:()A、表明的首字符应该为字母B、不能使用保留字C、可以使用下划线.数字.字母.但不能使用空格和单引号。
D、同一用户下表名不能重复。
答案: ABCD5.在Oracle 中, PL/SQL 块中定义了一个带参数的游标:CURSOR emp_cursor(dnum NUMBER) ISSELECT sal,comm FORM emp WHERE deptno=dnum;那么正确打开此游标的语句是( )。
A、OPEN emp_cursor(20);B、OPEN emp_cursor FOR 20;C、OPEN emp_cursor USING 20;D、FOR rmp_rec IN emp_cursor(20) LOOP ... END LOOP;答案: AD6.下列关于约束和索引的说法中,正确的是()。
A、在字段上定义PRIMARY KEY 约束时会自动创建B 树唯一索引B、在字段上定义UNIQUE 约束时会自动创建一个B 树唯一索引C、默认情况下,禁用约束会删除对应的索引,而激活约束会自动重建相应的索引D、定义FOREIGN KEY 约束时会创建一个B 树唯一索引答案: ABC7.下列关于ORACLE 的to_date 函数和to_char 函数,描述正确的是()选两项A、to_char 函数是将字符串数据转换为日期数据B、to_date 函数是将字符串数据转换为日期数据C、to_char 函数是将日期数据转换为字符数据D、to_date 函数是将日期数据转换为字符数据答案: BC8.查看表PRODUCTS 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.习题:列出至少有一个员工的所有部门
select distinct d.deptno,d.dname from emp e join dept d on e.deptno=d.deptno;
select distinct deptno from emp having count(empno)>=1 group by deptno;
2.习题:列出工资比“Smith”多的所有雇员。
select ename,sal from emp where sal>(select sal from emp where ename='SMITH');
3.习题:列出所有员工的姓名和其直接上司的姓名①
select e.ename,m.ename from emp e left join emp m on
e.mgr=m.empno;②select
emp.ename,mg.ename from emp join(select e.ename,e.empno from emp e join(select distinct mgr from emp where mgr is not null) m on empno=m.mgr) mg on emp.mgr=mg.empno;
4.习题:列出雇佣日期早于其直接上级的所有雇员的编号、姓名和部门名称
select empno,ename,dname from(select emp.empno,emp.ename,deptno dno from emp join(select
e.ename,e.empno,e.hiredate from emp e join(select distinct
mgr from emp where mgr is not null) m on empno=m.mgr) mg on emp.mgr=mg.empno and emp.hiredate<mg.hiredate)q join dept
d on dno=d.deptno;
5.习题:列出部门名称和这些部门的雇员信息,同时列出那些没有雇员的部门
select dname,ename,empno,sal,job from dept d left join emp e on d.deptno=e.deptno order by dname;
6.习题:列出所有“Cl e rk”的姓名和其部门名称,部门的人数
select ename,dname,(select count(*)from emp e,(select deptno from emp where ename ='CLARK')s where
e.deptno=s.deptno)from emp,dept where ename ='CLARK'and
emp.deptno=dept.deptno;
7.习题:列出最低工资大于1500 的各种工作以及从事此工作的全部雇员人数
select job,newsal,c from(select job,min(sal)as newsal,count(job)as c from emp group by job)where newsal>1500;
8.习题:列出在部门“Sales”工作的员工姓名,假定不知道销售部的部门编号
select ename from emp e,(select deptno from dept where dname='SALES') d where e.deptno=d.deptno;
习题:列出工资高于公司平均工资的所有雇员,所在部门,上级领导,公司的工资等级select ename,job,sal,grade,mname from(select
ename,job,sal,grade from(select ename,job,sal from
emp ,(select avg(sal)as asal from emp)where sal>asal)
join salgrade on sal between losal and hisal),(select e.ename aname,m.ename mname from emp e left join emp m on e.mgr=m.empno)
9.where ename =aname;
10.习题:列出与scott从事相同工作的所有雇员及部门名称
select ename,deptno dno from emp,(select job j from emp where ename='SCOTT')where job=j;
11.习题:列出工资等于部门30 中雇员的工资的所有雇员姓名和工资
select ename,sal from emp,(select sal s from emp where deptno=30)where sal in s;
12.习题:列出工资高于在30 部门工作的所有雇员的工资的雇员姓名和工资,部门名称
select ename,sal,dname from(select ename,sal,deptno dno from emp join(select max(sal)s from emp where deptno=30) on sal>s),dept where dno=deptno;
13.习题:列出在每个部门工作的雇员数量,平均工资和平均工龄
select
dname,count(empno),avg(sal),avg(sysdate-hiredate)from emp e right join dept d on e.deptno=d.deptno group by dname;
14.习题:列出所有雇员的姓名、部门名称和工资
select ename,dname,sal from emp e,dept d where
e.deptno=d.deptno;
15.习题:列出所有部门的详细信息和部门的人数
select deptno,dname,loc,s from dept left join(select deptno dno,count(empno) s from emp group by deptno)on deptno=dno order by deptno;
16.习题:列出各种工作的最低工资及从事此工作的雇员姓名
select ename,dsal,job from emp,(select job j,min(sal) dsal from emp group by job)where job=j;
17.习题:列出各个部门的manager的最低工资
select dname,msal from dept left join(select deptno dno,min(sal) msal from emp where job='MANAGER'group by deptno)
on deptno=dno;
18.习题:列出所有雇员的年薪,按照年薪从低到高排序
select ename,(sal*12)+(nvl(comm,0)*12)from emp order
by(sal*12)+(nvl(comm,0)*12);
19.习题:查询某个雇员的上级主管,并求出这些主管中的薪水超过3000 的
select e.ename,e.empno,e.sal from emp e join(select distinct mgr from emp where mgr is not null)m on empno=m.mgr and sal>3000;
20.习题:求出部门名称中带“S”的部门雇员的工资合计和部门人数
select sum(sal),count(empno)from emp,(select deptno dno from dept where dname like'%S%')where deptno=dno group by dno;。