急,今晚要交的SQL SERVER 2005作业!真的不经常提问,积分少,全丢上了,谢谢~好人一生平安

来源:百度知道 编辑:UC知道 时间:2024/06/23 00:39:12
图书表
图书编号 int 主键
书名 char
作者 char
出版社编号 char
部门编号 char

职工表
职工编号 int 主键
姓名 char
性别 char
出生日期 smalldatetime
部门编号 char

部门表
部门编号 int 主键
部门名称 char

出版社表
出版社编号 int 主键
出版社名称 char
地址 char

用SELECT语句查询:

1。查询清华大学出版社出版的所有图书信息
2。查询书名中包含“数据库”3个字的图书的图书编号和名称
3。查询文科图书室的所有女职工的信息,并按年龄从大到小输出
4。查询理科图书室管理的所有机械工业出版社出版的图书的编号和名称
5。统计每个部门的男女职工的人数
6。统计每个部门管理的图书的数目,将管理图书数目大于1000的部门编号输出
7。查询在1980年出生的男职工所在部门的名称
8。查询职工姓名姓“张”的职工所在的部门管理的图书的编号和名称
9。将图书的作者名和图书馆的职工姓名合并成一个新的查询集合
10。将图书的书名、作者名和出版社信息存到一个新表中

select b.* from 出版社表 a, 图书表 b where a.出版社编号 = b.出版社编号 and a.出版社名称 = '清华大学出版社';

select 图书编号, 书名 from 图书表 where 书名 like '%数据库%';

select a.* from 职工表 a, 部门表 b where a.部门编号 = b.部门编号 and a.性别 = '女' and b.部门名称 = '文科图书室' order by a.年龄 desc;

select b.图书编号, b.书名 from 出版社表 a, 图书表 b, 部门表 c where a.出版社编号 = b.出版社编号 and b.部门编号 = c.部门编号 and a.出版社名称 = '机械工业出版社' and c.部门名称 = '理科图书室';

select a.性别, b.部门名称, count(*) as count from 职工表 a, 部门表 b where a.部门编号 = b.部门编号 group by a.性别, b.部门名称;

select 部门编号 from 图书表 group by 部门编号 having count(*) > 1000;

select b.部门名称 from 职工表 a, 部门表 b where a.部门编号 = b.部门编号 and a.出生日期 >= '1980-01-01' and a.出生日期 <= '1980-12-31' and a.性别 = '男';

select 图书编号, 书名 from 图书表 where 部门编号 in (select 部门编号 from 职工表 where 姓名 like '张%');

select 作者 from 图书表 union select 姓名 from 职工表;

create table test as selec