数据库题目[高教成教].doc

上传人:rrsccc 文档编号:9465932 上传时间:2021-02-27 格式:DOC 页数:3 大小:38.50KB
返回 下载 相关 举报
数据库题目[高教成教].doc_第1页
第1页 / 共3页
数据库题目[高教成教].doc_第2页
第2页 / 共3页
数据库题目[高教成教].doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据库题目[高教成教].doc》由会员分享,可在线阅读,更多相关《数据库题目[高教成教].doc(3页珍藏版)》请在三一文库上搜索。

1、3.13 设数据库中有三个关系:职工表EMP(E#,ENAME,AGE,SEX,ECITY),其属性分别表示职工工号、姓名、年龄、性别和籍贯。工作表WORKS(E#,C#,SALARY),其属性分别表示职工工号、工作的公司编号和工资。公司表COMP(C#,CNAME,CITY),其属性分别表示公司编号、公司名称和公司所在城市。试用SQL语句写出下列操作: 用CREATE TABLE语句创建上述三个表,需指出主键和外键。 检索超过50岁的男职工的工号和姓名。 假设每个职工只能在一个公司工作,检索工资超过1000元的男性职工工号和姓名。 假设每个职工可在多个公司工作,检索在编号为C4和C8公司兼职

2、的职工工号和姓名。 检索在“联华公司”工作、工资超过1000元的男性职工的工号和姓名。 假设每个职工可在多个公司工作,检索每个职工的兼职公司数目和工资总数.显示(E#,NUM,SUM_SALARY),分别表示工号、公司数目和工资总数。 工号为E6的职工在多个公司工作,试检索至少在E6职工兼职的所有公司工作的职工工号。 检索联华公司中低于本公司平均工资的职工工号和姓名。 在每一公司中为50岁以上职工加薪100元(若职工为多个公司工作,可重复加)。 在EMP表和WORKS表中删除年龄大于60岁的职工有关元组。解:CREATE TABLE EMP( E# CHAR(4) NOT NULL,ENAME

3、 CHAR(8) NOT NULL,AGESMALLINT,SEXCHAR(1),ECITYCHAR(20),PRIMARY KEY(E#);CREATE TABLE COMP( C# CHAR(4) NOT NULL,CNAME CHAR(20) NOT NULL,CITYCHAR(20),PRIMARY KEY(C#);CREATE TABLE WORKS( E# CHAR(4) NOT NULL, C#CHAR(4) NOT NULL, SALARYSMALLINT,PRIMARY KEY(E#, C#),FOREIGN KEY(E#) REFERENCES EMP(E#),FOREIG

4、N KEY(C#) REFERENCES COMP(C#);SELECT E#, ENAMEFROM EMPWHERE AGE50 AND SEX=M;SELECT EMP.E#, ENAMEFROM EMP, WORKSWHERE EMP.E#=WORKS.E# AND SALARY1000;SELECT A.E#, A.ENAMEFROM EMP A, WORKS B, WORKS CWHERE A.E#=B.E# AND B.E#=C.E#AND B.C#=C4 AND C.C#=C8;SELECT A.E#, A.ENAMEFROM EMP A, WORKS B, COMP CWHER

5、E A.E#=B.E# AND B.C#=C.C#AND CNAME=联华公司 AND SALARY1000AND SEX=M;SELECT E#, COUNT(C#) AS NUM, SUM(SALARY) AS SUM_SALARYFROM WORKS GROUP BY E#;SELECT X.E#FROM WORKS XWHERE NOT EXISTS(SELECT *FROM WORKS YWHERE E#=E6AND NOT EXISTS(SELECT *FROM WORKS ZWHERE Z.E#=X.E#AND Z.C#=Y.C#);SELECT A.E#, A.ENAMEFROM EMP A, WORKS B, COMP CWHERE A.E#=B.E# AND B.C#=C.C# AND CNAME=联华公司AND SALARY50);DELETE FROM WORKSWHERE E# IN (SELECT E# FROM EMP WHERE AGE60);DELETE FROM EMPWHERE AGE60;3试题yu教育

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1