ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:2.07MB ,
资源ID:1876734      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1876734.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(sql课后题.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

sql课后题.docx

1、sql课后题sql课后题1 作业(1)从表中查询出数据查询出scott.dept表中部门号(deptno)小于50的部门名称(dname)此处有隐式转换,oracle把varchar2转换成了数字。(2)描述表scott.emp的结构(3)进行数学表达式的计算、使用列的别名在sqlplus中执行该文件。2.更改文件p2q1.sql中的命令,将查询条件改为:工资(sal)在$1500和$2850之间。重新执行该文件。3.查询出雇员表中部门号为10和30的所有员工的姓名、工作、雇佣日期信息,要求按照雇佣日期的降序进行排序。或隐身转换:4.查询出姓名中第三个字母为:“A”的所有员工的姓名。5.查出佣

2、金比工资多出10%的员工的姓名。简单写成:复杂写成:注意如果sal有空的(注意分母不能为0,而且保持原来的数据最好用1):这道题颠倒一下就很难了:3 作业以下练习题使用hr用户登录 1.查询所有员工及对应部门的记录,包括没有对应部门编号(department_id)的员工记录 a.XXX=b.XXX(+) 等价于 a left outer join b on (a.XXX=b.XXX);左外连接。2.查询所有员工及对应部门的记录,包括没有任何员工的部门记录。 a.XXX(+)=b.XXX 等价于 a right outer join b on (a.XXX=b.XXX);右外连接。3.查询所有

3、员工及对应部门的记录,包括没有对应部门编号(department_id)的员工记录和没有任何员工的部门记录。 全外连接只有一种写法:a all outer join b on (a.XXX=b.XXX);4.写一个查询来查询出雇员的名字,部门号,部门名称。5.输出30号部门的所有工作的列表,以及部门名称。6.写一个查询,来查询出挣到佣金(comm)的雇员姓名,部门名称,和部门所处的位置。7.写一个查询,查出在名字里面有一个A的所有雇员姓名和其所在的部门的名称。或者:8.写出一个查询,查出工作在DALLAS的所有员工的姓名、工作、部门号、部门名称。9.查出每个雇员的编号、姓名、其管理者的编号和姓

4、名。各个列分别命名为:Emp#,EmpName,EmpM#,EmpName.注意看下面的语句:上述表是没有管理者的命名的,我们可以用自连接:如果a.id=b.上司号,那么这时,a的信息就是当领导的人的信息(不管管几个人)。也就是a表中的哥们是b表中哥们儿的的领导。这时a表中有king,而且显示出了该领导管理的人员名单。如果a.上司号=b.id,那么这时,a的信息就是有上司的人的信息(也就是有领导的人的信息)。也就是b表中的哥们儿是a表中哥们的领导。9题结果:10.修改第9题的查询,使得没有管理者的员工的信息也可以显示出来。4作业1.查询出入职超过一年的员工信息 2 查询出每个员工从工龄有多少个

5、周3 今年公司准备给职位为ANALYST工资涨10%,CLERK工资涨15%,MANAGER涨20%,其它职位不变,请使用一个select语句模拟工资涨之后的各个员工工资或写成:4.写一个查询,选择出当前的日期。 5.查询出雇员表(emp)表中的雇员号、姓名、新的薪水(是原先薪水的1.25倍),并将该列标记为new salary。将该脚本保存到p3q2.sql中。6.运行文件p3q2中的查询。7.查询出雇员表中所有员工的姓名;雇佣日期;和工资调整日期(工作6个月后的第一个星期一)。其格式要求是类似于:“1981-09-23”。8.查出每个员工的名字(ename)、雇佣日期到现在的日期间隔的月数

6、(要求为整数),该列命名为MONTHS_WORKED,并以该列的降序排序9.写一个查询,查询出雇员的姓名,以及姓名的长度。要求其姓名的第一个字母为大写,其它的字母为小写。5作业1.统计每个部门的平均工资,和最高工资,最低工资,并按照部门号排序 我表里有两个没部门的人,所以你的结果可能和我不同,是正常的。2.查询出平均工资高于2000的部门以及其平均工资 6 作业创建多列的子查询。在基于未知值的查询中运用子查询。使用子查询,查询在一个数据集中存在,而在另一个数据集中不存在的数据。1.查询出部门位置为“DALLAS”的员工号,姓名,工资,职位,部门号 2查询出部门位置为“DALLAS” ”,“NE

7、W YORK”的员工号,姓名,工资,职位,部门号3.查询出与员工号为7788的job和sal相匹配的员工信息 4.查询出与员工号为7788的job或者sal相匹配的员工信息 5.查询出其经理不是10部门经理的员工信息注意10部门经理可以有空值的。6.查出与BLACK在同一个部门的所有雇员的姓名和雇佣日期。7.查出工资高于平均工资的所有员工的编号和姓名,其结果按照工资的降序排列。如果是高于本部门的员工:8.查出所有名字中包含一个T的员工所在的部门号,和这些部门所包含的所有员工编号和姓名。9.查出所有工作在Dallas的员工的姓名、部门编号、工作。10.查出由King直接管辖的所有员工的姓名和工资

8、。11.查询销售部(Sales)的编号,所有员工的名字和工作。12.写出与任何一个能挣到佣金的雇员的部门号、薪水相匹配的所有雇员的名字、部门号。13.查询出与在Dallas的任何一个雇员的薪水和佣金相匹配的所有雇员的姓名、部门名称和工资。14.查询出所有工资和佣金与Scott相同的雇员的姓名、雇佣日期和工资。注意:结果中不包括Scott应该nvl一下,否则:15去除重复数据 :这两条数据没有什么不同,除了rowid。这些是原先的数据。这些是新的数据。道理很简单,如果没有重复数据,那这条数据的rowid既是最大的,也是最小的。如果有重复的数据,那么一般而言rowid小的是老数据,rowid大的是

9、新数据(不是绝对的,请注意),在此只要保留一个就行了。delete from 就可以删除新的数据:7 作业创建使用替换变量的查询。创建包含变量的命令文件。使用ACCEPT 命令1.使用替换变量,提示用户输入职位名称,查询出员工号,姓名,工资,部门号 2.预定义一个职位名称的一个变量,并在查询出员工号,姓名,工资,部门号注意define最好给个初值。或:3.设置sqlplus环境的linesize为100,并让这个变量永久生效 4. 写一个脚本,要求显示某个雇佣时间范围内,所有雇员的姓名、工作和雇佣日期的信息。要求:将名字和工作连接起来,中间用“,”隔开,将列命名为EMPLOYEES和HIRED

10、ATE。并使用ACCEPT提示客户输入两个时间范围。头标题为:employee and hiredate info其输出结果应当类似下面: Please enter the low date range (MM/DD/YYYY): 01/01/1981 Please enter the high date range (MM/DD/YYYY): 01/01/1982 EMPLOYEES HIREDATE - - KING, PRESIDENT 17-NOV-81 BLAKE, MANAGER 01-MAY-81 CLARK, MANAGER 09-JUN-81 JONES, MANAGER 0

11、2-APR-81 MARTIN, SALESMAN 28-SEP-81 ALLEN, SALESMAN 20-FEB-81 TURNER, SALESMAN 08-SEP-81 JAMES, CLERK 03-DEC-81 WARD, SALESMAN 22-FEB-81 FORD, ANALYST 03-DEC-81 10 rows selected.首先拼出所要的语句:然后替换需要的值:再写出提示:注意引号需要转义。实验一下:最后形成报表:最后看一下结果: 8作业(1)向表中插入数据行(2)修改和删除表中的数据行(3)控制事务1.将员工信息表的部门号为10的员工备份到emp01表,emp0

12、1的表结构与emp表结构保持一致 2.更改7698号雇员变更到与7499号雇员相同的部门,并且职位也一样 3.做一个保持点的实例 .在dept表中插入两行数据:.将上面的数据删除。.定义一个事务:.将60号部门的位置改为“TIANJIIN”9 作业(1)使用 CREATE TABLE AS 语句来创建一个新表(2)更改列定义(3)验证这个表是存在的(4)为该表增加注释(5)更改tables结构(6)废弃该表1.使用子查询创建一个dept10表,结构与dept表一致 2.从数据字典中查询,验证dept10表是否创建 3.将表dept10的列“DNAME”的数据类型改为“VARCHAR2(20)”

13、 4.给表dept10添加注释为“this is dept Information”5.仿照dept表的格式创建表department并将dept中的数据插入。6.为dept增加一个新的列,该列的名字为descript,类型为varchar2(100)。缺省值为new column。7.创建如下结构的EMPLOYEE表: Name Null? Type - - - ID NUMBER(7) LAST_NAME VARCHAR2(50) FIRST_NAME VARCHAR2(25) DEPT_ID NUMBER(7)8.查询数据字典表或者使用describe命令确认上表的存在。并将它改名为:E

14、MPLOYEE_BAK9.为表EMPLOYEE_BAK增加一条注释:“this is a duplicated table”.duplicated 意思是复制的。10 作业1.创建一个结构与EMP表相同结构的EMPLOYEE表,使用ALTER TABLE语句为该表的empno列增加一个表级的主键约束,并命名该约束。2.创建一个结构与DEPT表相同结构的DEPARTMENT表,在创建表时为该表的deptno列增加一个表级的主键约束,并命名该约束。3.为EMPLOYEE表增加一个外键约束,保证雇员不能安排到一个不存在的系。4.从数据字典视图USER_CONSTRAINTS中查询出所添加约束的名称、类型。11 作业1.创建一个叫做EMP_VU的视图,它的列分别来自于EMP表的empno,ename,deptno;将

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1