实验五: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%;
请添加图片描述
         ⑧ 删除操作⑥中新增加的那条记录。
请添加图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值