实验五:Oracle中的SQL使用

Posted 还是不会呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验五:Oracle中的SQL使用相关的知识,希望对你有一定的参考价值。

实验五:Oracle中的SQL使用

实验目的

  1. 掌握SQL语言中常用系统函数

  2. 掌握SQL语言的应用。

实验内容

1. 查询SQL中如下常用函数的使用,并举例说明(完成格式参考Length)。

 字符< Ltrim、Replace、Rtrim、Substr、Trim >
 日期< Sysdate、Current_date、next_day >
 转换< To_char、to_date、to_number >
 统计函数< Sum、Avg、Max、Min、Count >
 其他< User、Decode、Nvl >

例如:Length
函数形式:Length(X)
函数说明:返回字符串X的长度
举例:select length(‘hello world’) from dual;
运行结果:
LENGTH(‘HELLOWORLD’)

--------------------

答案:


1、Ltrim
函数形式:ltrim(X[,trim_string])
函数说明:删除字符串X左边的字符,如果使用了可选的trim_string参数,则删除指定串,否则删除空格。
举例:select ltrim(‘asdfg’,’ad’) from dual;
运行结果:
LTR
---------
Sdf


2、Replace
函数形式:Replace(X,[str,trim_string])
函数说明:将字符串中连续的字符串str,替换成trim_string;
如果两个参数为整型,则在X中选出从str到trim_string的字符串
举例:select Replace(‘asdfg’,’as’,’!’) from dual;
运行结果:
REPL
---------
!dfg


3、Trim
函数形式:select trim(leading|trailing|both string1 FROM string2) from dual;
函数说明:表示字符串string2去除前面|后面|前后面(leading|trailing|both)的字符string1,默认去除方式为both
举例: SELECT trim(both ‘1’ from ‘123sfd111’) FROM dual;
运行结果:
TRIM(BOTH’1’FROM’123SFD111’)
-------------------------------------------------
23sfd


4、next_day
函数形式:next_day(X,DAY)
函数说明:返回紧接着X的下一天,参数DAY是一个字符串。
举例:select next_day(sysdate,‘星期三’) from dual;
运行结果:
NEXT_DAY(SYSDA
-------------------------------------------------
15-4月 -20


只加了4个,如需更多参考,私聊 me:
湖南中医药大学《oracle 11g数据库管理 应用与开发》实验文档

2. 在使用SQL的内置函数时,经常用到关键词dual,查询dual的含义,并举例说明其使用方法。


dual表是一个单行单列的虚拟表。

1、查看当前连接用户

2、查看当前日期、时间

3、查询行数


…等等…

3. 练习SQL事务处理(参见教材p112- p113中的示例内容,自己举例使用保存点进行事务回退操作,将练习所执行的SQL记录下来)

用spool语句保存练习的sql语句


4. SQL语言的应用(根据题目的写出执行正确的SQL语句):

(1)解锁HR模式,对HR模式下的表进行操作(此操作不用记录);
(2)以HR身份登录数据库后进行如下操作:
          ① 查询HR.EMPLOYEES表的表结构;

          ② 查询EMPLOYEES表中每个雇员的姓名(要求将first_name,last_name字段连接在一起显示)、职位、工薪、部门编号

         ③ 查询HR.DEPARTMENTS表的表结构;

         ④ 使用子查询查询属于某一部门员工的姓名、职位、工薪、部门编号的信息(已知的信息为部门名称,部门名称由用户自己给出);

部门名称任选一个为Marketing

         ⑤ 统计某一部门的雇员的最高和最低工薪;
部门号为id(*****)的最高薪资

部门号为id(*****)的最低薪资

         ⑥ 向EMPLOYEES表添加一组数据:values(600,’LISI’,’lisi@163.com’,sysdate,’SH_CLERK’,1650)通过SELECT查询语句,查看是否在EMPLOYEES表中添加了相应的记录;

         ⑦ 使用UPDATE语句更新该记录的SALARY列,为部门编号80的员工上调工薪10%;

         ⑧ 删除操作⑥中新增加的那条记录。

以上是关于实验五:Oracle中的SQL使用的主要内容,如果未能解决你的问题,请参考以下文章

Oracle实验五—数据库归档

Oracle实验五—数据库归档

Oracle实验五—数据库归档

Oracle实验五—数据库归档

Oracle开发者性能课第9课(如何查找慢 SQL)实验

Oracle中的DETERMINISTIC