搜档网
当前位置:搜档网 › Oracle实验二(上):Oracle函数、组函数和数据分组统计

Oracle实验二(上):Oracle函数、组函数和数据分组统计

Oracle实验二(上):Oracle函数、组函数和数据分组统计
Oracle实验二(上):Oracle函数、组函数和数据分组统计

此查询语句的查询目的:

查询任期未满350天员工的工号、雇佣日期、已到任日期、预计接受日期。

Oracle中分析函数用法小结

Oracle中分析函数用法小结 一.分析函数适用场景: ○1需要对同样的数据进行不同级别的聚合操作 ○2需要在表内将多条数据和同一条数据进行多次的比较 ○3需要在排序完的结果集上进行额外的过滤操作 二.分析函数语法: FUNCTION_NAME(,...) OVER () 例: sum(sal) over (partition by deptno order by ename) new_alias sum就是函数名 (sal)是分析函数的参数,每个函数有0~3个参数,参数可以是表达式,例如:sum(sal+comm) over 是一个关键字,用于标识分析函数,否则查询分析器不能区别sum()聚集函数和sum()分析函数 partition by deptno 是可选的分区子句,如果不存在任何分区子句,则全部的结果集可看作一个单一的大区 order by ename 是可选的order by 子句,有些函数需要它,有些则不需要.依靠已排序数据的那些函数,如:用于访问结果集中前一行和后一行的LAG和LEAD,必须使用,其它函数,如AVG,则不需要.在使用了任何排序的开窗函数时,该子句是强制性的,它指定了在计算分析函数时一组内的数据是如何排序的. 1)FUNCTION子句 ORACLE提供了26个分析函数,按功能分5类 分析函数分类 等级(ranking)函数:用于寻找前N种查询 开窗(windowing)函数:用于计算不同的累计,如SUM,COUNT,AVG,MIN,MAX等,作用于数据的一个窗口上 例: sum(t.sal) over (order by t.deptno,t.ename) running_total, sum(t.sal) over (partition by t.deptno order by t.ename) department_total 制表(reporting)函数:与开窗函数同名,作用于一个分区或一组上的所有列 例: sum(t.sal) over () running_total2, sum(t.sal) over (partition by t.deptno) department_total2 制表函数与开窗函数的关键不同之处在于OVER语句上缺少一个ORDER BY子句! LAG,LEAD函数:这类函数允许在结果集中向前或向后检索值,为了避免数据的自连接,它们是非常有用的. VAR_POP,VAR_SAMP,STDEV_POPE及线性的衰减函数:计算任何未排序分区的统计值 2)PARTITION子句 按照表达式分区(就是分组),如果省略了分区子句,则全部的结果集被看作是一个单一的组 3)ORDER BY子句

Oracle练习题讲解

一、填空 1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。 2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。 3.在需要滤除查询结果中重复的行时,必须使用关键字Distinct; 在需要返回查询结果中的所有行时,可以使用关键字ALL。 4.当进行模糊查询时,应使用关键字like和通配符问号(?)或百分号"%"。 5.Where子句可以接收From子句输出的数据,而HA VING子句则可以接收来自WHERE、FROM或GROUP BY子句的输入。 6.在SQL语句中,用于向表中插入数据的语句是Insert。 7.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用Select 语句。 8.使用Describe命令可以显示表的结构信息。 9.使用SQL*Plus的Get命令可以将文件检索到缓冲区,并且不执行。 10.使用Save命令可以将缓冲区中的SQL命令保存到一个文件中,并且可以使用Run命令运行该文件。 11.一个模式只能够被一个数据库对象所拥有,其创建的所有模式对象都保存在自己的模式中。 12.根据约束的作用域,约束可以分为表级约束和列级约束两种。列级约束是字段定义的一部分,只能够应用在一个列上;而表级约束的定义独立于列的定义,它可以应用于一个表中的多个列。 13.填写下面的语句,使其可以为Class表的ID列添加一个名为PK_CLASS_ID 的主键约束。 ALTER TABLE Class Add ____________ PK_LASS_ID (Constraint) PRIMARY KEY ________ (ID) 14. 每个Oracle 10g数据库在创建后都有4个默认的数据库用户:system、sys、sysman和DBcnmp

Oracle分组ROLLUP、GROUP BY、GROUPING、GROUPING SETS区别和作用+++

Oracle分组ROLLUP、GROUP BY、GROUPING、GROUPING SETS区别和作用1.ROLLUP ROLLUP的作用相当于 SQL> set autotrace on SQL> select department_id,job_id,count(*) 2 from employees 3 group by department_id,job_id 4 union 5 select department_id,null,count(*) 6 from employees 7 group by department_id 8 union 9 select null,null,count(*) 10 from employees;

最后面的SA_REP表示此jobid没有部门,为null 这里的union系统默认进行了排序 使用ROLLUP能达到上面GROUP BY的功能,但性能开销更小SQL> ed 已写入file afiedt.buf 1 select department_id,job_id,count(*) 2 from employees 3* group by rollup (department_id,job_id) SQL> /

2.为什么ROLLUP会比GROUP BY性能好 ROLLUP(a,b,c)=a,b,c+a,b+a+All 通过一次全表扫描,得出a,b,c的分组统计信息后;分组统计a,b 相同,c不同的项即可得到a,b;依此类推……,就不用去多次全表扫描 3.ROLLUP的另类用法ROLLUP(a,(b,c)) ROLLUP((a,b)) SQL> ed 已写入file afiedt.buf 1 select department_id,job_id,count(*) 2 from employees 3* group by rollup ((department_id,job_id)) SQL> / 注意面的语句是group by rollup ((department_id,job_id)) 不是group by rollup (department_id,job_id)

Oracle必背选择题

1.( )触发器允许触发操作的语句访问行的列值。(选一项) A、行级 B、语句级 C、模式 D、数据库级 2.( )是oracle在启动期间用来标识物理文件和数据文件的二进制文件。(选一项) A、控制文件 B、参数文件 C、数据文件 D、可执行文件 3.CREATE TABLE 语句用来创建(选一项) A、表 B、视图 C、用户 D、函数 4.imp命令的哪个参数用于确定是否要倒入整个导出文件。(选一项) A、constranints B、tables C、full D、file 5.ORACLE表达式NVL(phone,'0000-0000')的含义是(选一项) A、当phone为字符串0000-0000时显示空值 B、当phone为空值时显示0000-0000 C、判断phone和字符串0000-0000是否相等 D、将phone的全部内容替换为0000-0000 6.ORACLE交集运算符是(选一项) A、intersect B、union C、set D、minus 7.ORACLE使用哪个系统参数设置日期的格式(选一项) A、nls_language B、nls_date C、nls_time_zone D、nls_date_format 8.Oracle数据库中,通过()访问能够以最快的方式访问表中的一行(选一项) A、主键

B、Rowid C、唯一索引 D、整表扫描 9.Oracle数据库中,下面()可以作为有效的列名。(选一项) A、Column B、123_NUM C、NUM_#123 D、#NUM123 10.Oracle数据库中,以下()命令可以删除整个表中的数据,并且无法回滚(选一项) A、drop B、delete C、truncate D、cascade 11.Oracle中, ( )函数将char或varchar数据类型转换为date数据类型。(选一项) A、date B、to_date C、todate D、ctodate 12.ORACLE中,执行语句:SELECT address1||','||address2||','||address2 "Address" FROM employ; 将会返回()列(选一项) A、0 B、1 C、2 D、3 13.Oralce数据库中,以下()函数可以针对任意数据类型进行操作。(选一项) A、TO_CHAR B、LOWER C、MAX D、CEIL 14.partition by list(msn_id)子句的含义是(选一项) A、按msn_id列进行范围分区 B、按msn_id列进行列表分区 C、按msn_id列进行复合分区 D、按msn_id列进行散列分区 15.比较pagesize和linesize两个命令的特点,正确的是(选两项) A、pagesize命令用于设置屏幕上每一页包含的行数 B、linesize命令用于设置屏幕上每一行的字符数

Oracle 笔试题目带答案

1.( )程序包用于读写操作系统文本文件。(选一项) A、Dbms_output B、Dbms_lob C、Dbms_random D、Utl_file 2.( )触发器允许触发操作的语句访问行的列值。(选一项) A、行级 B、语句级 C、模式 D、数据库级 3.( )是oracle在启动期间用来标识物理文件和数据文件的二进制文件。(选一项) A、控制文件 B、参数文件 C、数据文件 D、可执行文件 4.CREATE TABLE 语句用来创建(选一项) A、表 B、视图 C、用户 D、函数 5.imp命令的哪个参数用于确定是否要倒入整个导出文件。(选一项) A、constranints B、tables C、full D、file 6.ORACLE表达式NVL(phone,'0000-0000')的含义是(选一项) A、当phone为字符串0000-0000时显示空值 B、当phone为空值时显示0000-0000 C、判断phone和字符串0000-0000是否相等 D、将phone的全部内容替换为0000-0000 7.ORACLE交集运算符是(选一项) A、intersect B、union C、set D、minus 8.ORACLE使用哪个系统参数设置日期的格式(选一项) A、nls_language

B、nls_date C、nls_time_zone D、nls_date_format 9.Oracle数据库中,通过()访问能够以最快的方式访问表中的一行(选一项) A、主键 B、Rowid C、唯一索引 D、整表扫描 10.Oracle数据库中,下面()可以作为有效的列名。(选一项) A、Column B、123_NUM C、NUM_#123 D、#NUM123 11.Oracle数据库中,以下()命令可以删除整个表中的数据,并且无法回滚(选一项) A、drop B、delete C、truncate D、cascade 12.Oracle中, ( )函数将char或varchar数据类型转换为date数据类型。(选一项) A、date B、to_date C、todate D、ctodate 13.ORACLE中,执行语句:SELECT address1||','||address2||','||address2 "Address" FROM employ; 将会返回()列(选一项) A、0 B、1 C、2 D、3 14.Oralce数据库中,以下()函数可以针对任意数据类型进行操作。(选一项) A、TO_CHAR B、LOWER C、MAX D、CEIL 15.partition by list(msn_id)子句的含义是(选一项) A、按msn_id列进行范围分区 B、按msn_id列进行列表分区

Oracle_D3试题

**学院课程考试试卷 课程名称:《Oracle:使用Oracle管理和查询数据》(A)卷 年级:班级: 姓名:_______________ 学号:_________________ 考试(考查) 闭卷 选择题(每题2分,共计100分) 1.以下()内存区不属于SGA(系统全局区 system global area)。见教材P.46 页 A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2.将以下结构从数据库开始按层次顺序排列()。 A.数据库段区块表空间 B.数据库段表空间块区 C.数据库表空间段区块 D.数据库表空间块段区 3.()模式存储数据库中数据字典的表和视图。见教材P.23页 A.DBA B.SCOTT C.SYSTEM D.SYS 4.在oracle中创建用户时,若未提及default tablespace 关键字,则oracle就将() 表空间分配给用户作为默认表空间。见教材P.11页 A.HR B.SCOTT C.SYSTEM D.SYS 5.()服务监听并接受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServerSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 6.关于程序全局区PGA的说法正确的是()。[选两项] A.PGA是共享的 B.PGA是非共享的 C.每个服务器进程都有一个私有的PGA D.每个客户端进程都有一个私有的PGA 7.oracle数据库的物理文件不包括()。见教材P.12页 A.数据文件 B.重做日志文件 C.控制文件 D.缓存文件 8.用于在客户端配置网络服务的文件是()。见教材P.26页 A.tnsnames.ora B.listener.ora C.sqlnet.ora D.tnsname(s).ora 9.数据定义语言是用于()的方法。 A.确保数据的准确性 B.定义和修改数据结构 C.查看数据 D.删除和更新数据 10.emp表包含下面这些列,ename varchar2,salary varchar2,hiredate date,管理部门 想要一份在公司工作了5年以上的员工名单,那句sql语可以显示需要的结果()。

Oracle中分组后拼接分组字符串

Oracle中分组后拼接分组字符串 先分组,再把分组后的属于某组的多条记录的某字段进行拼接。 实现方式如下: /* --创建表 test*/ create table test ( NO NUMBER, VALUE VARCHAR2(100), NAME VARCHAR2(100) ); /* ----插入数据*/ insert into test select * from ( select '1','a','测试1' from dual union all select '1','b','测试2' from dual union all select '1','c','测试3' from dual union all select '1','d','测试4' from dual union all select '2','e','测试5' from dual union all select '4','f','测试6' from dual union all select '4','g','测试7' from dual ); /*--Sql语句:*/ select No, ltrim(max(sys_connect_by_path(Value, ';')), ';') as Value, ltrim(max(sys_connect_by_path(Name, ';')), ';') as Name from (select No, Value, Name, rnFirst, lead(rnFirst) over(partition by No order by rnFirst) rnNext from (select a.No, a.Value, https://www.sodocs.net/doc/ea2312763.html,, row_number() over(order by a.No, a.Value desc) rnFirst from Test a) tmpTable1) tmpTable2 start with rnNext is null connect by rnNext = prior rnFirst group by No; /*--检索结果如下:*/ /*

Oracle复习

1.当Oracle服务器启动时,下列哪种文件不是必须的(D) A.数据文件 B.控制文件 C.日志文件 D.归档日志文件 2.在Oracle数据库的逻辑结构中有以下组件 A表空间B数据块C区D段 这些组件从大到小依次是(B) A.ABCD B.ADCB C.ACBD D.DACB 3.在Oracle中,下面用于限制分组函数的返回值的子句是(B)A.WHERE B.HAVING C.ORDER BY D.无法限定分组函数的返回值 4.在ORACLE中,游标都具有下列属性,除了(B) A.%NOTFOUND B.%ROWTYPE C.%ISOPEN D.ROWCOUNT 5.在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO子句(C) A.OPEN B.CLOSE C.FETCH D.CURSOR 6.PL/SQL块中不能直接使用的SQL命令是(D)

B.INSERT C.UPDATE D.DROP 7.以下不属于数据更新的SQL动词是(C) A.INSERT B.UPDATE C.CREATE D.DELETE 8.查询"Staff"表中所有李姓员工的编号、姓名信息,可用(A)语句 A.SELECT sno,sname FROM staff WHERE sname LIKE '李%' B.SELECT sno,sname FROM staff WHERE sname LIKE '李_' C.SELECT sno,sname FROM staff WHERE sname IN '李%' D.SELECT sno,sname FROM staff WHERE sname IN '李_' 9.处理用户算定义的异常需要3个步骤,以下不属于其中步骤的是(B) A.定义异常 B.声明异常 C.触发异常 D.处理异常 10.存储过程中有3种类型参数,若没有为参数指定类型,则默认是(A)类型 A.IN B.OUT C.IN OUT D.OFF 11.段是表空间中一种逻辑存储结构,以下(D)不是ORACLE数据库使用的段类型 A.牵引段 B.临时段 C.回滚段 D.代码段

Oracle自测题-第1,2,3章

第1章Oracle数据库系统的结构与安装 选择题 1、下列有关ORACLE实例的说法哪个是错误的?(B) A. ORACLE实例主要由内存结构和迚程结构两部分组成 B. 每一数据库至少有一个与之对应的实例,一个实例可以打开和使用多个数据库 C. 每一个数据库可以由多个实例使用,但一个实例只能打开和使用一个数据库 D. 实例就是运行状态下的ORACLE软件,主要是由内存结构和一些迚程组成 2、以下哪些内存区域不是SGA的一部分?(B) A. 数据库缓冲区高速缓存 B.PGA C.重做日志缓冲区 D. 共享池 3、DBWR迚程是(C) A. 从Shared Pool读出被更新的数据写入DataFiles B. 从Shared Pool读出被更新的数据写入LogFiles C. 从Database Buffer Cache读出被更新的数据写入DataFiles D. 从Database Buffer Cache读出被更新的数据写入LogFiles 4、下面的描述中错误的是:(A) A. Oracle表的存储结构为:一个表就是一个物理文件,物理文件和表之间存在着绝对的一一对应关系。 B. 表空间由一个或多个数据文件组成。 C. 系统全局区(SGA)可由所有的服务器和用户迚程共享。 D. 段、区间、数据块是Oracle数据库的基本逻辑组织单位。 5、下面的描述中错误的是:(B )

A. 表空间由一个或多个数据文件组成。 B. 表中的数据存储在数据文件,索引等其他模式对象的数据不存储在数据文件中。 C. 数据块是Oracle I/O操作的最小单位。 D. 区间是由数据块组成的。 6、下面的描述中错误的是:(A) A. 程序全局区(PGA)可由所有的用户迚程共享。 B. Oracle使用表空间组织数据库,每个数据库至少有一个System表空间。 C. 数据块是Oracle I/O操作的最小单位。 D. 区间是由连续的数据块组成的。 7、下面的描述中错误的是:(C) A. 每个数据库必须至少有一个控制文件。 B. Oracle使用表空间组织数据库,每个数据库至少有一个System表空间。 C. 区间是Oracle I/O操作的最小单位。 D. 程序全局区(PGA)是由单个迚程使用的内存区域,它是不共享的;系统全局区(SGA)为所有数据库迚程所共享,是ORACLE的通信中心。 8、Oracle系统非正常关闭后,重新启动数据库时,执行一些数据库恢复操作的后台迚程是:(C) A. 恢复迚程 B. 检查点迚程 C. 系统监控迚程 D. 调度迚程 9、在用户迚程失败时迚行迚程恢复,释放用户迚程资源的后台迚程是:(C ) A. 系统监控迚程 B. 恢复迚程 C. 迚程监控迚程 D. 调度迚程 10、当某一个后台迚程出现时,Oracle将内存中的数据写回到磁盘的数据文件中,幵同时修改控制文件,这个后台迚程是:( B )

oracle所有题目

《网络数据库》复习题目 一、填空题(20空×1分=20分) 1、完整的Oracle数据库包括DB及DBMS两大部分,分别对应存储结构和软件结构。其中存储结构分为逻辑存储结构和物理存储结构。这两种存储结构既相互独立又相互联系。软件结构则是由内存结构和进程结构组成。 2、标准的数据块大小由初始参数DB_BLOCK_SIZE指定。 3、区间是Oracle分配磁盘空间的最小单位。 4、表空间是最大的逻辑单位,对应一个或多个数据文件,其大小是它所对应的数据文件大小的总和。 5、Oracle的数据在逻辑上存储在表空间中,而在物理上存储在表空间所对应的数据文件当中。 6、按照内存的使用方法的不同,Oracle数据库的内存又可以分为系统全局区和程序共享区。 7、监听器的默认端口号是1521。P95 8、Oracle数据库实例支持3种状态,包括已启动(NOMOUNT)、已装载(MOUNT)和打开(OPEN)。P139 9、本地网络服务名配置文件名为tnsnames.ora。 10、使用SET ServerOutput ON命令设置环境变量serveroutput为打开状态,从而使PL/SQL程序能够在SQL*Plus中输出结果。P212 11、在变量名前面加一个“&”符号实现输入。P214 12、通常使用分号作为SQL语句的终止符。 13、完整的PL/SQL块由三个部分组成:声明部分、执行部分和异常处理部分,执行部分是必需的。P212 14、用%TYPE实现与已有变量或字段类型相同。P220 15、用%ROWTYPE实现与已有行记录类型相同。P220 16、游标是指向查询结果集缓冲区的句柄或指针,通过游标可以一次提取一行数据进行处理。 17、system表空间主要用于存储数据字典、数据库对象的定义、PL/SQL程序的源代码和解释代码等信息。 18、临时表空间,用于保存SQL语句在执行过程中所产生的临时数据(如排序、分组汇总等)。 19、初始化参数首先以“键=值”对的形式保存在初始化参数文件中。参数有多个取值时,用逗号分隔。P149 20、每个数据库实例至少要有两组联机重做日志文件 21、Oracle以循环方式依次使用各组日志文件 22、依据数据释放的时间不同,临时表可分为:事务级别的临时表和会话级别的临时表。P309 23、对于基数(列的不同值的个数)很小的列,应该建立位图索引,而不是默认的建立B树索引。P327 24、要执行存储过程,可以使用CALL语句或EXCECUTE语句,也可以在PL/SQL块中用过程名调用。P341 25、触发器也是一种命名PL/SQL块,存储在数据库中,常用来完成由数据库的完整性约束难以完成的复杂业务规则的约束,实现数据库数据一致性。P355

Oracle之分组函数

组函数: 一、Oracle 服务器按下面的顺序求子句的值: 1. 如果语句包含一个 WHERE 子句,服务器建立侯选行。 2. 服务器确定在 GROUP BY 子句中指定的组。 3. HAVING 子句进一步约束不满足在 HAVING 子句中分组标准的结果分组。 二、组函数的类型: ?AVG 平均值 COUNT 计数 MAX 最大值 MIN 最小值 STDDEV 标准差 SUM 合计 VARIANCE 方差 1.所有组函数忽略空值。为了用一个值代替空值,用 NVL、NVL2 或 COALESCE 函数。 2.DISTINCT 使得函数只考虑不重复的值;ALL 使得函数考虑每个值,包括重复值。默认值是 ALL ,因此不需要指定。 3.用于函数的参数的数据类型可以是 CHAR、VARCHAR2、NUMBER 或 DATE。 4.当使用 GROUP BY 子句时,Oracle 服务器隐式以升序排序结果集。为了覆盖该默认顺序,DESC 可以被用于 ORDER BY 子句。 使用类型:可以使用MIN 和MAX 用于任何数据类型,AVG、SUM、VARIANCE 和STDDEV 函数只能被用于数字数据类型。 COUNT 函数 COUNT 函数有三中格式: COUNT(*) 返回select语句的标准行,包括重复行,空值列的行 COUNT(expr) 由 expr 指定的非空值的数。 COUNT(DISTINCT expr) 返回在列中的由 expr 指定的唯一的非空值的数。 在组函数中使用NVL 函数: NVL 函数强制组函数包含空值 Java代码 1.SELECT AVG(NVL(commission_pct, 0))FROM employees; 三、group by子句 GROUP BY 子句把表中的行划分为组。然后你可以用组函数返回每一组的摘要信息。 原则 如果在 SELECT 子句中包含了组函数,就不能选择单独的结果,除非单独的列出现在 GROUP BY 子句中。如 果你未能在 GROUP BY 子句中包含一个字段列表,你会收到一个错误信息。 使用 WHERE 子句,你可以在划分行成组以前过滤行。 在 GROUP BY 子句中必须包含列。 在 GROUP BY 子句中你不能用列别名。 默认情况下,行以包含在 GROUP BY 列表中的字段的升序排序。你可以用 ORDER

Oracle测试题

ORACLE测试题 一、选择题:(本题共20个小题,每小题2分,共40分) 1.下列哪个子句实现对一个结果集进行分组和汇总( D )。 A.HAVING B.ORDER BY C.WHERE D.GROUP BY 2.在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将( C )表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS 3.有字符串数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为( A ) A. 10 4 B. 4 4 C. 10 10 D. 4 10 4.在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO 子句( )。 A. FETCH B. CLOSE C. OPEN D. CURSOR 5. 在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列的列值?B A.UPDATE sales SET profits = NULL WHERE product_type = 'TOYS' B. DELETE profits FROM sales WHERE product_type = 'TOYS' C. DELETE FROM sales WHERE product_type = 'TOYS' D. DELETE FROM sales 8. 在oracle中获取前10条的关键字是 D A. top B. limit C. first D. rownum 9.一下哪些权限是系统权限?(B) A.CONNECT B. CREATE SESSION C.RESOURCE D.DBA 10. 以指定列的方式向数据表中插入数据,则一下哪些字段是必须要放入指定列中的?(C) A.默认约束列 B.检查约束列 C.主键列 D.外键列

Oracle+试题

Oracle 测试题库 题库分为四个部分 1. 工具使用 2. SQL语句 3. DBA必备 4. PL/SQL语言 1. 工具使用 1. .以下命令哪个是SQL*PLUS 命令? A.UPDATE B.EDIT C.SELECT D.ALTER TABLE 2.用SQLPLUS的_____命令可以查看表的结构信息,包括列的名称和数据类型 A DESCRIPTION B DESC C SHOW TABLE D SHOW USER 3. Oracle的前端工具是: A SQL*PLUS B C++ C PL/SQL D JAV A 4 在SQLPLUS中,如何运行SQL脚本程序 A / B @脚本 C EXE 脚本 D 不能在SQLPLUS中直接运行脚本 5 用命令将SQLPLUS缓冲区中的内容保存到文件中,使用下列哪种方法 A 将缓冲区的内容Ctrl+C,然后再Ctrl+V到文件中即可 B 使用SAVE命令参数是文件路径 C WRITE 方式,参数是文件路径

D Oracle会自动保存 6 用来设置一行能够显示的字符长度的命令是 A SET LINESIZE B SET LINE C SET LINEBUFFER D SET SIZELINE 7 以下哪个命令用来设置查询显示结果的列宽 A SET COLUMN SIZE B COLUMN 列FORMAT 长度 C COLUMN 列长度 D 长度OF COLUMN 2. SQL语句 1. ORACLE用来判断列值是否为空的操作符是____ A ==NULL B IS NULL C AS NULL D NULLIS 2 分析以下的SQL命令 SELECT i.id_number, m.id_number FROM inventory i, manufacturer m WHERE i.manufacturer_id = m.id_number ORDER BY inventory.description; 如何修改上述命令使其成功执行() A ORDER BY description B ORDER BY i.description C WHERE inventory.manufacturer_id = m.id_number ORDER BY inventory.description D ORDER BY inventory.description; 3. 在客户定单表(CUSTOMER)中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句。 A SELECT * FROM CUSTOMER WHERE PRICE>500; B SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *; C SELECT * FROM CUSTOMER WHERE PRICE LIKE '%500%'; D SELECT * FROM CUSTOMER WHER E PRICE>=500; 4. 分析以下SQL 命令: SELECT price

oracle实习

实习内容: oracle表的管理(数据类型,表创建删除,数据操作) 期望目标 1.掌握oracle表的管理(创建/维护) 2.掌握对oracle表的各种查询技巧 3.学会创建新的oracle数据库 oracle的表的管理 表名和列的命名规则 ?必须以字母开头 ?长度不能超过30个字符 ?不能使用oracle的保留字 ?只能使用如下字符 A-Z,a-z,0-9,$,#等 oracle支持的数据类型 字符类 char定长最大2000个字符 例子:char(10) ‘小韩’前四个字符放‘小韩’,后添6个空格补全如‘小韩’varchar2(20) 变长最大4000个字符。 例子:varchar2(10)‘小韩’ oracle分配四个字符。这样可以节省空间。 clob(character large object) 字符型大对象最大4G char 查询的速度极快浪费空间,查询比较多的数据用。 varchar 节省空间 数字型 number范围 -10的38次方到 10的38次方 可以表示整数,也可以表示小数 如: number(5,2) 表示一位小数有5位有效数,2位小数范围:-999.99到999.99 number(5) 表示一个5位整数范围99999到-99999 日期类型 date 包含年月日和时分秒 oracle默认格式 1-1月-1999 timestamp 这是oracle9i对date数据类型的扩展。可以精确到毫秒。 blob 二进制数据可以存放图片/声音 4G 一般来讲,在真实项目中是不会把图片和声音真的往数据库里存放,一般存放图片、视频的路径,如果安全需要比较高的话,则放入数据库。

oracle 练习题

一、选择题 1. 下面语句中,哪种语句用来创建视图? A. CREATE TABLE B. ALTE VIEW C. DROP VIEW D. CREATE VIEW 2.以下哪项陈述最符合此SQL 语句中“学生”表发生的变化? UPDATE 学生 SET 午餐编号= (SELECT 午餐编号 FROM 学生WHERE 学生标识= 17 ) WHERE 学生标识= 19; A. 此语句将更新“学生”表,具体操作为将标识号为19 的学生的午餐编号替换为标识号为17 的学生的午餐编号。 B. 将一个新行插入“学生”表中。 C. 不发生任何变化,因为不能在UPDATE 语句中使用子查询。 D. 删除学生17 的午餐编号,并根据学生19 的午餐编号插入一个新值。 3.以下哪条SELECT 语句将返回一个数字值? A. SELECT SYSDATE - 7 FROM 雇员; B. SELECT (SYSDA TE - 聘用日期) / 7 FROM 雇员; C. SELECT ROUND(聘用日期, DAY) FROM 雇员; D. SELECT SYSDATE + 600 / 24 FROM 雇员; 4.以下SQL 语句将返回什么结果? SELECT ROUND(45.923,-1) FROM DUAL; A. 45.9 B. 46 C. 50 D. 上述各项都不是 5.如果需要以全部大写的形式显示每个雇员的姓名,应使用以下哪个函数? A. CASE B. UCASE C. UPPER D. TOUPPER 6.下列关于函数的说法中哪个是不正确的? A. SYSDA TE 函数返回Oracle Server 日期和时间。 B. ROUND 数字函数将值舍入到指定的小数位或最近的整数。 C. CONCAT 函数只能用于字符串,不能用于数值。 D. SUBSTR 字符函数返回从指定字符位置开始到指定长度的部分字符串。 7.以下关于列的叙述中,哪一项是不正确的? A. 可以增大CHAR 列的宽度。 B. 如果列包含非空数据,则可以修改列的数据类型。 C. 可以将CHAR 数据类型的列转换为V ARCHAR2 数据类型。 D. 可以将DA TE 日期类型的列转换为V ARCHAR2 列。 8.使用哪个命令可以从表的行中快速删除所有数据而不删除表自身? A. ALTER TABLE B. DROP TABLE C. MODIFY D. TRUNCATE TABLE 9.如果需要更新6 月30 日之前生产的产品的有效期。应在UPDA TE 语句的哪个子句中指定这一条件? A. ON 子句 B. WHERE 子句 C. SET 子句 D. USING 子句

Oracle汇总函数

Oracle SQL 一些函数用法 以下sql环境都是在Oracle 11g/scott完成 Group by 一、如何理解group by后带rollup子句所产生的效果 group by 后带 rollup 子句的功能可以理解为:先按一定的规则产生多种分组,然后按各种分组统计数据(至于统计出的数据是求和还是最大值还是平均值等这就取决于SELECT后的聚合函数)。因此要搞懂group by 后带 rollup 子句的用法主要是搞懂它是如何按一定的规则产生多种分组的。另group by后带rollup子句所返回的结果集,可以理解为各个分组所产生的结果集的并集且没有去掉重复数据。下面举例说明:1、对比没有带rollup的goup by 例:Group by A ,B 产生的分组种数:1种; 即group by A,B 返回结果集:也就是这一种分组的结果集。 2、带rollup但group by与rollup之间没有任何内容 例1:Group by rollup(A ,B) 产生的分组种数:3 种; 第一种:group by A,B 第二种:group by A 第三种:group by NULL

(说明:本没有group by NULL 的写法,在这里指是为了方便说明,而采用之。含义是:没有分组,也就是所有数据做一个统计。例如聚合函数是SUM的话,那就是对所有满足条件的数据进行求和。此写法的含义下同) 返回结果集:为以上三种分组统计结果集的并集且未去掉重复数据。 例2:Group by rollup(A ,B,C) 产生的分组种数:4 种; 第一种:group by A,B,C 第二种:group by A,B 第三种:group by A 第四种:group by NULL 返回结果集:为以上四种分组统计结果集的并集且未去掉重复数据。3、带rollup但group by与rollup之间还包含有列信息 例1:Group by A , rollup(A ,B) 产生的分组种数:3 种; 第一种:group by A,A,B 等价于 group by A,B 第二种:group by A,A 等价于 group by A 第三种:group by A,NULL 等价于 group by A 返回结果集:为以上三种分组统计结果集的并集且未去掉重复数据。 例2:Group by C , rollup(A ,B) 产生的分组种数:3 种;

Oracle期末考试试题及答案(最新整理)

8.在Windows 操作系统中,Oracle 的( )服务是使用iSQL*Plus 必须的。 A.OracleHOME_NAMETNSListener B. OracleServiceSID C. OracleHOME_NAMEAgent D. OracleHOME_NAMEHTTPServer 9.下列哪个语句可以在SQL*Plus 中直接调用一个过程( )。 A. RETURN B. CALL C. SET D. EXEC 10.如果服务器进程无法在数据缓冲区中找到空闲块,为添加从数据文件中读出的数据块,则系统会启动如下哪一个进程( ) A.CKPT B. DBWR C.LGWR D. SMON 11.下列哪一个锁模式不属于Oracle( )。 A.死锁 B.排他锁 C.行级共享锁 D.共享锁 12.有字符串数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为( ) A. 10 4 B. 4 4 C. 10 10 D. 4 10 13.在Oracle 中,当控制一个显式游标时,下面哪种命令包含INTO 子句( )。 A. FETCH B. CLOSE C. OPEN D. CURSOR 14.ORACLE 中,用来判断列值是否为空的操作符是( )。 A. ==NULL B. NULLIS C. AS NULL D. IS NULL 15.查询一个表的总记录数,可以采用( )统计函数。 A.AVG(*) B. SUM(*) C. COUNT(*) D. MAX(*) 16.以下的哪个命令可以将SQL 命令的运行结果保存到文件中( )。 A.SAVE B.SPOOL C.GET D.INPUT 17.为了去除结果集中重复的行,可在SELECT 语句中使用下列哪个关键字( ) 。 A.ALL B.DISTINCT C.SPOOL D.HAVING 18.关于模式的描述下列哪一项不正确( )。 A.表或索引等模式对象一定属于某一个模式 B.在Oracle 数据库中,模式与数据库用户是一一对应的 C.一个表可以属于多个模式 D.一个模式可以拥有多个表 19.下列SELECT 语句中,哪些子句可以包含子查询( )。 A.SELECT B.GROUP BY C.WHERE D.ORDER BY 20.在下列模式对象中,哪个对象不会占用实际的存储空间( )。 A.视图 B.表 C.索引 D.簇

相关主题