Oracle数据库实验八(Oracle 11g)

1、设有如下关系表R:

    R(No,NAME,SEX,AGE,CLASS)

    主关键字是NO

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。

写出实现下列功能的SQL语句。

    ①插入一个记录(25,“李明”,“男”,21,“95031”);               。

    ②插入“95031”班学号为30、姓名为“郑和”的学生记录;              。

    ③将学号为10的学生姓名改为“王华”;               。

    ④将所有“95101”班号改为“95091”;              。

    ⑤删除学号为20的学生记录;              。

⑥删除姓“王”的学生记录;              。

试用SQL语言写出下列查询:

(1)找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。

3、 在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为:

       商品表1( 商品代号  char(8),分类名 char(8),单价 float ,数量 int )

       商品表2( 商品代号 char(8),产地 char(8),品牌 char(6))

   在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为:

       学生( 学生号 char(7),姓名char(6),性别char(2),出生日期 datetime,专业char(10),年级int)

       课程( 课程号 char(4),课程名char(10),课程学分 int)

       选课( 学生号 char(7),课程号char(4),成绩 int)

3.1.从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌

3.2 从教学库中查询出学生号为@ s1的学生和学生号为@ s2的学生选修的共同课程的课程号

3.3 从教学库中查询出学生号为@ s1的学生所选修、而学生号为@ s2的学生没有选修的课程

3.4从教学库中查询出至少选修了姓名为@ m1学生所选课程中一门课的全部学生号。

  

      

4  设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY),其属性分别表示职工号、姓名、年龄、性别、工资。为每个工资低于1000元的女职工加薪200元,试写出这个操作的SQL语句。

5. 设某工厂数据库中有两个基本表:

车间基本表:DEPT(DNO,DNAME,MGR_ENO),其属性分别表示车间编号、车间名和车间主任的职工号。

职工基本表:ERP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工资和所在车间的编号。

建立一个有关女车间主任的职工号和姓名的视图,其结构如下:

VIEW6(ENO,ENAME)。试写出创建该视图VIEW6的SQL语句。

6 、设有一个工程供应数据库系统,包括如下四个关系模式:

  1. S(SNO,SNAME, STATUS,CITY);
  2. P(PNO,PNAME,COLOR,WEIGHT);
  3. J(JNO,JNAME,CITY);
  4. SPJ(SNOPNOJNO,QTY);

供应商表S由供应商号、供应商名、状态、城市组成;

零件表P 由零件号、零件名、颜色、重量组成;

工程项目表J由项目号、项目名、城市组成;

供应情况表SPJ由供应商号、零件号、项目号、供应数量组成;

(1)用SQL查询供应工程J1零件为红色的工程号JNO;(2分)

(2)用SQL查询没有使用天津供应商生产的零件的工程号;(3分)

7、设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、工资和所在部门号,以及关系DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号、部门名称、部门经理的职工号。

  • 1、列出各部门中工资不低于600元的职工的平均工资。
  • 2、请用SQL语句将“销售部”的那些工资数额低于600的职工的工资上调10%。

8、

代码如下:

1.

insert into R

values(25,"李明","男",21,"95031");

insert into R(No,NAME,CLASS)

values(25,"李明","95031");

update R

set name='王华'

where No=10;

update R

set CLASS='95091'

where CLASS='95101';

delete

from R

where No=20;

delete

from R

where NAME like '王%';

2.

select A#,ANAME

from A

where WQTY<=100 or CITY='长沙';

3.

(1)

select 商品表1.商品代号,商品表1.分类名,商品表2.产地,商品表2.品牌

from 商品表1,商品表2

where 商品表1.商品代号=商品表2.商品代号 and 商品表2.品牌='熊猫'or'春兰';

(2)

方法一:

select 课程号

from 选课

where 学生号='@s1' and 课程号 in

(

select 课程号

from 选课

where 学生号='@s2';

);

方法二:

select 选课1.课程号

from 选课 选课1,选课 选课2

where 选课1.课程号=选课2.课程号 and 选课1.学生号='@s1'and 选课2.学生号='@s2';

(3)

select 课程.*

from 课程

where 课程号 in

(

select 课程号

from 选课

where 学生号='@s1' and 课程号 not in

(

select 课程号

from选课

where 学生号='@s2'

)

);

(4)

select distinct 学生号

from 选课

where 课程号 in

(

select 课程号

from 选课

where 学生号 =

(

select 学生号

from学生

where 姓名='@ml'

)

);

4.

update EMP

set SALARY = SALARY+200

where SALARY<1000 and SEX = '女';

5.

create view VIEW6

as

select DEPT.MGR_ENO,ERP.ENAME

from DEPT,ERP

where DEPT.MGR_ENO=ERP.ENO and ERP.SEX='女';

6.

(1)

select

from P,SPJ

where P.PNO=SPJ.PNO and P.COLOR='红色' and SPJ.JNO='J1';

(2)

select JNO

from SPJ

where PNO not in

(

select SPJ.PNO

from SPJ,J

where SPJ.JNO=J.JNO and J.CITY = '天津'

);

7.

(1)

select DNO,avg(SALARY)

from EMP

group by DNO

having SALARY>=600;

(2)

update EMP

set SALARY = SALARY*1.1

where EMP.DNO = DEPT.DNO and DEPT.DNAME = '销售部' and EMP.SALARY<600;

8.

(1)

select R.B

from R,S

where R.A = S.A and S.C>50;

(2)

update R

set R.B = 'b4'

where R.A = S.A and S.C = 40;

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验一 PL/SQLPL/SQLPL/SQLPL/SQLPL/SQLPL/SQL开发环境的使用 [实验目的 ] 1.掌握建立本地 Net服务名( TNS)的方法; 2.熟悉和掌握使用 SQL Plus工具操作数据库; 3.熟悉 TOAD工具。 [实验内容 ] 1.使用 Oracle 的 TNS配置程序建立本地服务名; a.运行 Oracle的 TNS配置程序;(程序里面的 oracle目录下的 Net Configuration Assistant) b.输入远程数据库服务名——orcl; c.输入远程数据库 IP地址(192.168.128.8)和端口(1521); d. 使用自己的姓名作为帐户和学号作为密码测试; e.输入一个自己容易记住的名字命名 TNS,如 orcl之类的。 f.完成配置。 2.使用 SQL Plus 工具登陆远程数据库; a.运行 Oracle的 SQL Plus工具; b. 使用自己的姓名作为帐户和学号作为密码,主机字符串为刚才自己配置的 TNS登陆; c.记录程序信息; d.键入“create table taba(cola int,colb int);”,记录 SQL语句运行结果; e.键入“insert into taba values(1,1);”,记录 SQL语句运行结果; f.键入“commit;”,提交插入操作; g.退出应用程序。 3.在命令行下使用 SQL Plus登陆远程数据库; a.点击运行菜单(或者按 Win+R键); b.输入 cmd; c.在命令行窗口下输入 sqlplus 用户名/密码@TNS,如 sqlplus scott/tiger@orcl; d.记录程序信息; e.键入“select * from taba;”,记录 SQL语句运行结果; f.退出程序。 4.使用 TOAD工具登陆远程数据库。 a.运行 TOAD程序(双击桌面的青蛙图标); b.选择刚才设定的 TNS,使用自己的姓名作为帐户和学号作为密码登陆; c.打开 SQL Editer,键入“select * from taba;”,按 F9,记录 SQL运行结果; d.退出程序。 [实验报告 ] 1. 记录所有的操作和操作结果; 2. 比较三种不同方式使用数据库的不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值