第一次上机练习-习题-结果_第1页
第一次上机练习-习题-结果_第2页
第一次上机练习-习题-结果_第3页
第一次上机练习-习题-结果_第4页
第一次上机练习-习题-结果_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题1 请根据给出的数据库表结构来回答相应问题 DEPT DEPTNO INT DNAME VARCHAR 14 LOC VARCHAR 13 EMP EMPNO INT ENAME VARCHAR 10 JOB VARCHAR 9 MGR INT HIREDATE DATE SAL FLOAT COMM FLOAT DEPTNO INT BONUS ENAME VARCHAR 10 JOB VARCHAR 9 SAL INT COMM INT SALGRADE GRADE INT LOSAL INT HISAL INT 其中表中包含如下数据 DEPTDEPT表 表 EMPEMP表 表 SALGRADE表 BONUSBONUS表 表 无数据 根据上面描述完成下面问题 注意注意 注意保存脚本 尤其是DDL和DML 以便进行数据还原 DDLDDL 1 写出上述表的建表语句 此外 在DEPT上创建名为 PK DEPT 的 主键约束 在EMP表上创建名为 PK EMP 的主键约束以及指向表 DEPT的外键约束 FK DEPTNO 命令 create table DEPT DEPTNO int DNAME nvarchar LOC nvarchar primary key pk dept Create table EMP EMPNO int ENAME nvarchar JOB nvarchar MGR int HIREDATE datetime SAL int COMM float DEPTNO int primary key pk emp foregin key fk deptno references dept DMLDML 2 给出相应的INSERT语句来完成题中给出数据的插入 命令 insert 1 accounting null 3 将所有员工的工资上浮10 然后查询员工姓名 薪水 补助 emp sal为工资 m为补助 命令 select ename sal 1 1 comm From emp 结果 单表查询单表查询 4 查看EMP表中部门号为10的员工的姓名 职位 参加工作时间 工 资 命令 select ename job hiredate sal From emp Where emp depyno 10 结果 5 查所有已有的职位 要求去除重复项 命令 select distinct job From emp 结果 6 计算每个员工的年薪 并取列名为Salary of Year emp sal为员 工的月薪 要求输出员工姓名 年薪 命令 select ename sal 12 as salary of year From emp 结果 7 查询每个员工每个月拿到的总金额 emp sal为工资 m为 补助 提示 isnull ex1 ex2 表示如果ex1为空则返回 ex2 命令 select ename isnull sal comm sal as total From emp 结果 8 显示职位是主管 manager 的员工的姓名 工资 命令 select ename sal From emp Where emp job manager 结果 9 显示第3个字符为大写O的所有员工的姓名及工资 命令 select enmae sal From emp Where emp ename like O 结果 10 显示职位为销售员 SALESMAN 或主管 MANAGER 的员工的姓名 工资 职位 命令 selecte ename sal job From emp Where emp job salesman or manager 结果 11 显示所有没有补助的员工的姓名 命令 select ename From emp Where m is null 结果 12 显示有补助的员工的姓名 工资 补助 命令 select ename sal comm From emp Where m is not null 结果 13 排序显示所有员工的姓名 工资 按工资降序方式 命令 select ename sal From emp Order by emp sal desc 结果 14 显示员工的最高工资和最低工资 命令 select max sal as 最高工资 min sal as 最低工资 From emp 结果 15 显示所有员工的平均工资和总计工资 命令 select avg sal as 平均工资 sum sal as 总计工资 From emp 结果 16 显示补助在员工中的发放比例 即有多少比例的员工有补助 此 题需注意两个问题 1 select语句中进行除法如何保留小数点后数 据 2 count函数如何处理null型数据 命令 select cast cast count comm as float cast count as float as numeric 13 12 from emp 结果 聚合查询聚合查询 17 显示每种职业的平均工资 命令 select job avg sal as average From emp Group by emp job 结果 18 显示每个部门每种岗位的平均工资和最高工资 命令 select deptno job avg sal as average max sal as max From emp Group by deptno job 结果 19 显示平均工资低于2500的部门号 平均 工资及最高工资 命令 select deptno avg sal as average max sal as max From emp Group by deptno having avg sal 2500 结果 20 上一条语句以平均工资升序排序 命令 select deptno avg sal as average max sal as max From emp Group by deptno having avg sal 2500 or emp job manager 结果 22 排序显示所有员工的姓名 部门号 工资 以部门号升序 工资降 序 雇用日期升序显示 命令 select ename deptno sal hiredate From emp Order by deptno asc sal desc hiredate asc 结果 23 采用自然连接原理显示部门名以及相应的员工姓名 Sql server 不支持NATURAL JOIN语法 命令 select dname ename From emp dept where dept deptno emp no order by dname select dname ename From emp join dept on emp deptno dept deptno 结果 24 查询SCOTT的上级领导的姓名 命令 select ename From emp where empno select mrg from emp where ename scott select a ename from emp a join emp b on a empno b mrg and b ename scott select b ename from emp a join emp b on a deptno b deptno where a ename scott and b job manager 结果 25 显示部门的部门名称 员工名即使部门没有员工也显示部门名称 命令 select dname ename From emp right join dept on emp deptno dept deptno 结果 子查询子查询 26 显示所有员工的名称 工资以及工资级别 命令 select ename sal grade from emp join salgrade on sal between losal and hisal Order by grade 结果 27 显示ACCOUNTING部门所有员工的名称 工资 命令 select ename sal From emp join dept on emp deptno dept dpetno where dept dname accounting 结果 28 显示职位属于10号部门所提供职位范围的员工的姓名 职位 工资 部门号 命令 select ename job sal deptno From emp Where job in select job from emp where deptno 10 Order by job 结果 29 显示在所有员工用中高于30号部门中任一个员工工资的员工的姓名 工资和部门号 命令 select ename sal deptno From emp Where sal select max sal from emp where deptno 30 结果 集合查询集合查询 30 显示工资高于2500或职位为MANAGER的员工的姓名 工资和职位 采用UNION语法实现 命令 select ename sal job from emp where sal 2500 union select ename sal job from emp where job manager 结果 31 显示工资高于2500且职位为MANAGER的员工的姓名 工资和职位 采用INTERSECT语法实现 命令 select ename sal job from emp where sal 2500 inte

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论