资源描述:
《练习1_sql语句答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、习题1请根据给出的数据库表结构来回答相应问题:DEPT(DEPTNOINT,DNAMEVARCHAR(14),LOCVARCHAR(13));EMP(EMPNOINT,ENAMEVARCHAR(10),JOBVARCHAR(9),MGRINT,HIREDATEDATE,SALFLOAT,COMMFLOAT,DEPTNOINT);BONUS(ENAMEVARCHAR(10),JOBVARCHAR(9),SALINT,COMMINT);SALGRADE(GRADEINT,LOSALINT,HISALINT);
2、其中表中包含如下数据:DEPT表:EMP表:SALGRADE表:BONUS表:无数据根据上面描述完成下面问题:(注意:注意保存脚本,尤其是DDL和DML,以便进行数据还原)DDL1.写出上述表的建表语句。此外,在DEPT上创建名为”PK_DEPT”的主键约束,在EMP表上创建名为”PK_EMP”的主键约束以及指向表DEPT的外键约束”FK_DEPTNO”。命令:createtabledept(DEPTNOINTCONSTRAINTPK_DEPTprimarykey,DNAMEvarchar(14),LOC
3、varchar(13))createtableEMP(EMPNOINTCONSTRAINTPK_EMPPRIMARYKEY,ENAMEVARCHAR(10),JOBVARCHAR(9),MGRINT,HIREDATEDATE,SALFLOAT,COMMFLOAT,DEPTNOINTCONSTRAINTFK_DEPTNOFOREIGNKEYREFERENCESdbo.dept(DEPTNO))createtableBONUS(ENAMEVARCHAR(10),JOBVARCHAR(9),SALINT,COM
4、MINT)createtableSALGRADE(GRADEINT,LOSALINT,HISALINT)DML2.给出相应的INSERT语句来完成题中给出数据的插入。命令:insertintoSALGRADE(GRADE,LOSAL,HISAL)VALUES(1,1,1)3.将所有员工的工资上浮10%.然后查询员工姓名、薪水、补助。(emp.sal为工资,emp.comm为补助)命令:updateempsetsal=sal*1.1Selectename,sal,commfromemp结果:单表查询1.查看
5、EMP表中部门号为10的员工的姓名,职位,参加工作时间,工资。命令:selectename,job,hiredate,salfromempwheredeptno=10结果:2.查所有已有的职位,要求去除重复项。命令:SELECTDISTINCTJOBFROMEMP结果:3.计算每个员工的年薪,并取列名为SalaryofYear(emp.sal为员工的月薪),要求输出员工姓名,年薪。命令:selectename,sal*12as'salaryofyear'fromemp结果:1.查询每个员工每个月拿到的总金
6、额(emp.sal为工资,emp.comm为补助)。(提示:isnull(ex1,ex2)表示如果ex1为空则返回ex2)命令:selectename,isnull(sal+comm,sal)astotalfromemp结果:2.显示职位是主管(manager)的员工的姓名,工资。命令:selectename,salfromempwherejob='manager'结果:1.显示第3个字符为大写O的所有员工的姓名及工资。命令:selectename,salfromempwhereenamelike'__O
7、%'结果:2.显示职位为销售员(SALESMAN)或主管(MANAGER)的员工的姓名,工资,职位。命令:selectename,sal,jobfromempwherejob='salesman'orjob='manager'结果:3.显示所有没有补助的员工的姓名。命令:selectenamefromempwherecommisnull结果:1.显示有补助的员工的姓名,工资,补助。命令:selectenamefromempwherecommisnotnull结果:2.排序显示所有员工的姓名,工资(按工资降
8、序方式)。命令:selectename,salfromemporderbysaldesc结果:3.显示员工的最高工资和最低工资。命令:selectMAX(sal)as'最高工资',MIN(sal)as'最低工资'fromemp结果:4.显示所有员工的平均工资和总计工资。命令:selectAVG(sal)as'平均工资',SUM(sal)as'总计工资'fromemp结果:1.显示补助在员工中的发放比例、即有多少比例的员工有补助