数据库总复习题(新)新 有答案

内容发布更新时间 : 2025/4/25 19:44:57星期一 下面是文章的全部内容请认真阅读。

综合练习第6套

已知员工考勤数据库YGKQ包含JBQK(职工基本情况)数据表和QQLX(缺勤信息)数据表,表结构如表1和表2所示:

表 1 JBQK(职工基本情况表结构) 字段名 zgh xm sj ts lx

表 2 QQLX(缺勤类型信息表结构) 字段名 lx mc ms

请用SQL语句完成以下操作:

1.查询每个职工的职工号、姓名、缺勤时间、缺勤天数和缺勤类型信息。 2.查询职工号为001的职工的姓名和缺勤天数。 3.查询所有姓“张”的职工的职工号、缺勤天数。 4.找出所有缺勤天数在2~3天的职工号和缺勤名称。 5.查询缺勤名称为“病假”的职工的职工号和姓名。 6.查询缺勤天数超过平均缺勤天数的职工的职工号和姓名。 7.求各缺勤类别的人数。

8.查询在职工基本情况表中没有出现过的缺勤类型及缺勤名称。 9.使用SQL语句将“旷工”人员的缺勤天数增加一天。

10.使用SQL语句创建一个名为zgqq(职工缺勤)的视图,要求能够使用该视图查询缺勤2天以上的职工的职工号、姓名、缺勤天数和缺勤名称。 参考答案:

答案不惟一,只要结果正确即给分

1.查询每个职工的职工号、姓名、缺勤时间、缺勤天数和缺勤类型信息。 select * from JBQK;

2.查询职工号为001的职工的姓名和缺勤天数。 selectxm,qqts from JBQK where zgh='001';

3.查询所有姓“张”的职工的职工号、缺勤天数。 select zgh,qqts from JBQK where xm like '张%';

4.找出所有缺勤天数在2~3天的职工号和缺勤名称。

selectzgh,qqmc from JBQK,QQLX where JBQK.qqlx= QQLX.qqlx and qqts between 2 and 3;

36

字段类型 CHAR CHAR VARCHAR 字段宽度 4 8 60 说明 缺勤类型,主码 缺勤名称 缺勤描述 字段类型 CHAR CHAR DATETIME INT CHAR 字段宽度 4 8 4 说明 职工号,主码 姓名 缺勤时间 缺勤天数 缺勤类型,外码

5.查询缺勤名称为“病假”的职工的职工号和姓名。

select zgh,xm from JBQK where qqlx in(select qqlx from QQLX where qqmc='病假'); 6.查询缺勤天数超过平均缺勤天数的职工的职工号和姓名。 selectzgh,xm from JBQK where qqts>(select AVG(qqts) from JBQK); 7.求各缺勤类别的人数。

selectqqlx,count(*) from JBQK group by qqlx;

8.查询在职工基本情况表中没有出现过的缺勤类型及缺勤名称。 本题给出三种参考答案:

selectqqlx,qqmc from QQLX where qqlx<>all(select distinct qqlx from JBQK); 或select qqlx,qqmc from QQLX where qqlx not in(select distinct qqlx from JBQK);

或select qqlx,qqmc from QQLX where not exists(select * from JBQK where qqlx=qqlx.qqlx); 9.使用SQL语句将“旷工”人员的缺勤天数增加一天。

update JBQK set qqts=qqts+1 where qqlx in(select qqlx from QQLX where qqmc='旷工');

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi