数据库问题(2小时急求)

仓库表warehouse_table(仓库号)所在城市(面积)WAREHOUSEIDCITYAREA-----------------------------------... 仓库表warehouse_table
(仓库号) 所在城市 (面积)
WAREHOUSEID CITY AREA
-------------------- ---------------------------------------- -----
WH1 北京 370
WH2 上海 500
WH3 广州 200
WH4 武汉 400

职工表 employee_table
仓库号 职工号 工资
WAREHOUSEID EMPLOYEE_id SALARY
-------------------- ---------- ------
WH2 E1 1220
WH1 E3 1210
WH2 E4 1250
WH3 E6 1230
WH1 E7 1250

订单表order_table
职工号 供应商号 订单号 订购日期
EMPLOYEE_id SUPPLIERNO ORDERNO ORDERDATE
---------- ---------- ---------- -----------
E3 S7 OR67 2001-6-23
E1 S4 OR73 2001-7-28
E7 S4 OR76 2001-5-25
E6 OR77
E3 S4 OR79 2001-6-13
E1 OR80
E3 OR90
E3 S3 OR91 2001-7-13

8 rows selected

供应商表 supplier_table
供应商号 供应商 所在城市
SUPPLIERNO SUPPLIER LOCATION
---------- -------------------------------------------------- --------------------
S3 振华电子厂 西安
S4 华通电子公司 北京
S6 607厂 郑州
S7 爱华电子厂 北京

问题:

--从职工关系中检索所有的工资
--检索仓库中的所有元祖
--检索工资多于1230的职工号
--检索哪些仓库的工资多于1210的职工
--给出 在仓库WH1或WH2工作并且工资少于1250的 职工号
--找出工资多于1230的职工号和他们所在的城市
7找出工作面积大于 400的 仓库的职工号以及这些职工工作所在的城市
8--哪些城市至少有一个仓库的职工的工资为1250
9--查询所有职工的工资多于1210的 仓库信息
10--找出和E4赚同样工资的所有职工
11--检索工资在1220到1240范围的职工信息
-12-找出不在北京的全部供应商的信息
13--按职工工资的 升序检索全部职工信息
14--先按仓库号排序,再按工资排序并输出全部职工信息
15-找出供应商所在地的数目
16-求支付的工资总数
17--求北京和上海的仓库职工的工资总和(不懂::)
18--求所有职工的工资多于1210的仓库的平均面积
19--求在WH2仓库工作的职工的最高工资
20--求每个仓库的职工的平均工资
21--求至少有两个职工的每个仓库的平均工资
22--找出尚未确定供应商的订购单
23-找出已经确定供应商的订购单
24--根据雇员关系列出上一级经理及其所领导的职员的清单
25--列出每个职员经手的具有最高金额订单信息
26--检索那些还没有职工的仓库信息
27--检索那些仓库至少已经有一个职工的仓库的信息
28--检索有职工的工资>=WH1中任何一个职工工资的仓库号
29--检索有职工的工资>=WH1中所有职工工资的仓库号
现在急需要解答啊。。
展开
 我来答
flyingFish211
2011-03-07 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
都不难啊。。。 24 25 有问题,没有金额信息

--从职工关系中检索所有的工资
SELECT DISTINCT SALARY FROM employee_table

--检索仓库中的所有元祖
SELECT * FROM warehouse_table

--检索工资多于1230的职工号
SELECT WAREHOUSEID FROM employee_table WHERE SALARY > 1230

--检索哪些仓库的工资多于1210的职工
SELECT DISTINCT WAREHOUSEID FROM employee_table WHERE SALARY > 1210

--找出工资多于1230的职工号和他们所在的城市
SELECT b.WAREHOUSEID, a.CITY
FROM warehouse_table a, employee_table b
WHERE a.WAREHOUSEID = b.WAREHOUSEID AND b.SALARY > 1230

--给出 在仓库WH1或WH2工作并且工资少于1250的 职工号
SELECT WAREHOUSEID FROM employee_table WHERE WAREHOUSEID IN ('WH1', 'WH2' AND SALARY < 1250

7找出工作面积大于 400的 仓库的职工号以及这些职工工作所在的城市
SELECT b.WAREHOUSEID, a.CITY
FROM warehouse_table a, employee_table b
WHERE a.AREA > 400 AND a.WAREHOUSEID = b.WAREHOUSEID

8--哪些城市至少有一个仓库的职工的工资为1250
SELECT a.CITY,
FROM warehouse_table a, employee_table b
WHERE a.WAREHOUSEID = b.WAREHOUSEID AND b.SALARY > 1250
GROUP BY a.CITY HAVING COUNT(b.SALARY) > 0

9--查询所有职工的工资多于1210的 仓库信息
SELECT a.CITY,
FROM warehouse_table a, employee_table b
WHERE a.WAREHOUSEID = b.WAREHOUSEID AND b.SALARY < 1210
GROUP BY a.CITY HAVING COUNT(b.SALARY) = 0

10--找出和E4赚同样工资的所有职工
SELECT WAREHOUSEID FROM employee_table WHERE SALARY = (SELECT SALARY FROM employee_table WHERE WAREHOUSEID = 'E4'

11--检索工资在1220到1240范围的职工信息
SELECT * FROM employee_table WHERE SALARY BETWEEN 1220 AND 1240

-12-找出不在北京的全部供应商的信息
SELECT * FROM supplier_table WHERE LOCATION <> '北京'

13--按职工工资的 升序检索全部职工信息
SELECT * FROM employee_table ORDER BY SALARY

14--先按仓库号排序,再按工资排序并输出全部职工信息
SELECT * FROM employee_table ORDER BY WAREHOUSEID, SALARY

15-找出供应商所在地的数目
SELECT COUNT(DISTINCT LOCATION) FROM supplier_table

16-求支付的工资总数
SELECT SUM(SALARY) FROM employee_table

17--求北京和上海的仓库职工的工资总和(不懂::)
SELECT SUM(a.SALARY)
from employee_table a, warehouse_table b
WHERE a.WAREHOUSEID = b.WAREHOUSEID AND b.CITY IN ('北京', '上海')

18--求所有职工的工资多于1210的仓库的平均面积
SELECT WAREHOUSEID, AVG(AREA)
FROM warehouse_table
WHERE WAREHOUSEID IN (SELECT WAREHOUSEID FROM employee_table WHERE SALARY < 1210
GROUP BY WAREHOUSEID HAVING COUNT(SALARY) = 0)
GROUP BY WAREHOUSEID

19--求在WH2仓库工作的职工的最高工资
SELECT MAX(SALARY) from employee_table WHERE WAREHOUSEID = 'WH2'

20--求每个仓库的职工的平均工资
SELECT WAREHOUSEID, AVG(SALARY) from employee_table GROUP BY WAREHOUSEID

21--求至少有两个职工的每个仓库的平均工资
SELECT WAREHOUSEID, AVG(SALARY) from employee_table
WHERE WAREHOUSEID IN (SELECT WAREHOUSEID FROM employee_table GROUP BY WAREHOUSEID HAVING COUNT(WAREHOUSEID) >=2)
GROUP BY WAREHOUSEID

22--找出尚未确定供应商的订购单
SELECT 订单号 from order_table where 供应商号 IS NULL

23-找出已经确定供应商的订购单
SELECT 订单号 from order_table where 供应商号 IS not NULL

24--根据雇员关系列出上一级经理及其所领导的职员的清单
---no 雇员关系

25--列出每个职员经手的具有最高金额订单信息
no 金额

26--检索那些还没有职工的仓库信息
SELECT *
from warehouse_table
where WAREHOUSEID not in (select distinct WAREHOUSEID from employee_table)

27--检索那些仓库至少已经有一个职工的仓库的信息
SELECT a.*
FROM warehouse_table a, employee_table b
WHERE a.WAREHOUSEID = b.WAREHOUSEID

28--检索有职工的工资>=WH1中任何一个职工工资的仓库号
SELECT WAREHOUSEID from employee_table
WHERE SALARY < (SELECT MAX(SALARY) FROM employee_table WHERE WAREHOUSEID = 'WH1')
HAVING COUNT(WAREHOUSEID) = 0

29--检索有职工的工资>=WH1中所有职工工资的仓库号
SELECT WAREHOUSEID
from employee_table
WHERE EXISTS SALARY > (select MAX(SALARY) FROM employee_table WHERE WAREHOUSEID = 'WH1')
壹寰(深圳)科技文化有限公司
2021-03-27 广告
要找正规专业的公司,行业口碑也比较重要。如果想了解更多详细信息,可以咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
百度网友8603356
2011-03-07 · TA获得超过645个赞
知道小有建树答主
回答量:423
采纳率:0%
帮助的人:140万
展开全部
----从职工关系中检索所有的工资
select SALARY from employee_table
----检索仓库中的所有元祖
元祖是个嘛呀???
----检索工资多于1230的职工号
select EMPLOYEE_id from employee_table where SALARY>1230
----检索哪些仓库的工资多于1210的职工 (没有员工表好不好,只有编号了)
select EMPLOYEE_id from employee_table where SALARY>1210
----给出 在仓库WH1或WH2工作并且工资少于1250的 职工号
select EMPLOYEE_id from employee_table where SALARY<1250 and WAREHOUSEID in(WH1,WH2)
----找出工资多于1230的职工号和他们所在的城市
select CITY,EMPLOYEE_id from warehouse_table,employee_table where warehouse_table.WAREHOUSEID=employee_table.WAREHOUSEID and SALARY>1230
--7找出工作面积大于 400的 仓库的职工号以及这些职工工作所在的城市
select CITY,EMPLOYEE_id from warehouse_table,employee_table where warehouse_table.WAREHOUSEID=employee_table.WAREHOUSEID and AREA>400
--8--哪些城市至少有一个仓库的职工的工资为1250
select CITY from warehouse_table where WAREHOUSEID in(select WAREHOUSEID from employee_table where SALARY=1250)
--9--查询所有职工的工资多于1210的 仓库信息
select * from warehouse_table where WAREHOUSEID in(select WAREHOUSEID from employee_table where SALARY>1210)
--10--找出和E4赚同样工资的所有职工
select EMPLOYEE_id from employee_table where SALARY=(select SALARY from employee_table where EMPLOYEE_id=E4)
--11--检索工资在1220到1240范围的职工信息(只能给出id 没有表)
select EMPLOYEE_id from employee_table where SALARY>1220 and SALARY<1240
---12-找出不在北京的全部供应商的信息
select SUPPLIERNO,SUPPLIER from supplier_table where LOCATION !='北京'
--13--按职工工资的 升序检索全部职工信息
select EMPLOYEE_id from employee_table order by SALARY
--14--先按仓库号排序,再按工资排序并输出全部职工信息
(那“按仓库号排序”有个屁用啊?)
--15-找出供应商所在地的数目
select count(LOCATION) from supplier_table group by LOCATION
--16-求支付的工资总数
select sum(SALARY) from employee_table group by SALARY
--17--求北京和上海的仓库职工的工资总和(不懂::)
select sum(SALARY) from employee_table,warehouse_table group by SALARY having CITY='北京' or CITY='上海'
--18--求所有职工的工资多于1210的仓库的平均面积
select avg(AREA) from employee_table,warehouse_table group by AREA having where SALARY>1210
--19--求在WH2仓库工作的职工的最高工资
select top 1 SALARY from employee_table where WAREHOUSEID =WH2 order by SALARY desc
--20--求每个仓库的职工的平均工资
select avg(SALARY) from employee_table

------我这放不下了,你丫看的做吧…
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
th79d
2011-03-07 · TA获得超过265个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:256万
展开全部
你说的这些问题大致是排序比较汇总等优化,别人不可能全替你回答,得自己做,如果用LINQ(语言集成查询)比较简单方便。《C#编程指南》(但尧,清华大学出版社2011年1月,可网购)第5章和第17章专门谈这个问题,可做成图表输出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奥瑞金100
2011-03-07 · TA获得超过222个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:0
展开全部
1 、 SELECT SALARY FROM employee_table
2、SELECT *FROM warehouse_table
3、SELECT EMPLOYEE_id FROM employee_table WHERE SALARY > '1230'
4、
5、SELECT EMPLOYEE_id FROM employee_table JOIN warehouse_table ON WAREHOUSEID WHERE WAREHOUSEID ='WH1' OR WAREHOUSEID ='WH2'
6、SELECT EMPLOYEE_id , CITY FROM employee_table LEFT JOIN warehouse_table ON WAREHOUSEID WHERE SALARY > '1230'
7、SELECT EMPLOYEE_id , CITY FROM warehouse_table LEFT JOIN employee_table ON WAREHOUSEID WHERE AREA> '400'
8、SELECT DISTINCT CITY FROM warehouse_table JOIN employee_table ON WAREHOUSEID WHERE SALARY = '1250'
9、SELECT DISTINCT * FROM warehouse_table RIGHT JOIN employee_table ON WAREHOUSEID WHERE SALARY > '1210'
10、SELECT * FROM employee_table WHERE SALARY IN (SELECT SALARY FROM
employee_table WHERE EMPLOYEE_id ='E4' )

11、SELECT * FROM employee_table WHERE SALARY >='1220' AND SALARY <='1240'
12、SELECT * FROM supplier_table WHERE LOCATION <> '北京'
13、SELECT * FROM employee_table ORDER BY SALARY ASC
14、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hong83210
2011-03-07 · TA获得超过481个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:315万
展开全部
1. select SALARY from employee_table
2. select * from warehouse_table
3. select EMPLOYEE_id from employee_table where SALARY > 1230

.......
先看看这些吧,类似的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式