数据库原理与应用试题库(8)

2018-11-27 16:54

SELECT AVG(SIZE) FROM WAREHOUSE;

(17).检索出向S4供应商发出订购单的那些仓库的平均面积。

SELECT AVG(SIZE)

FROM WAREHOUSE

WHERE WHNO IN (SELECT WHNO FROM EMPLOYEE

WHERE ENO IN (SELECT ENO FROM ORDER WHERE SNO=“S4”));

(18).检索出每个城市的供应商个数。

SELECT CITY,COUNT(SNO) FROM SUPPLIER GROUP BY CITY;

(19).检索出每个仓库中工资多于1220元的职工个数。

SELECT WHNO,COUNT(ENO) FROM EMPLOYEE

WHERE SALARY>1220 GROUP BY WHNO;

或:SELECT WHNO,COUNT(ENO)

FROM EMPLOYEE

GROUP BY WHNO

HAVING SALARY>1220;

(20).检索出和面积最小的仓库有联系的供应商的个数。

SELECT COUNT(DISTINCT SNO) FROM ORDER WHERE ENO IN

SELECT ENO FROM EMPLOYEE

WHERE WHNO IN

SELECT WHNO FROM WAREHOUSE OUTER

WHERE OUTER.SIZE=SELECT MIN(SIZE)

FROM WAREHOUSE INNER;

(21).检索出工资低于本仓库平均工资的职工信息。

SELECT * FROM EMPLOYEE OUTER

WHERE OUTER.SALARY<(SELECT AVG(SALARY) FROM EMPLOYEE INNER WHERE INNER.WHNO=OUTER.WHNO GROUP BY WHNO);

13.以下面的数据库为例,用SQL完成以下更新操作。关系模式如下:

仓库(仓库号,城市,面积)←→ WAREHOUSE(WMNO,CITY,SIZE)

职工(仓库号,职工号,工资)←→ EMPLOYEE(WHNO,ENO,SALARY)

订购单(职工号,供应商号,订购单号,订购日期)←→ ORDER(SNO,SNO,ONO,DATE) 供应商(供应商号,供应商名,地址)←→ SUPPLIER(SNO,SNAME,ADDR) (1).插入一个新的供应商元组(S9,智通公司,沈阳)。

INSERT INTO SUPPLIER VALUES(S9,智通公司,沈阳); (2).删除目前没有任何订购单的供应商。

DELETE FROM SUPPLIER

WHERE NOT EXISTS (SELECT * FROM ORDER WHERE ORDER.SNO=SUPPLIER.SNO);

或:DELETE FROM SUPPLIER

WHERE SNO NOT IN (SELECT SNO FROM ORDER); (3).删除由在上海仓库工作的职工发出的所有订购单。

DELETE FROM ORDER

WHERE ENO IN (SELECT ENO FROM EMPLOYEE

WHERE WHNO IN {SELECT WHNO FROM WAREHOUSE WHERE CITY=“上海”}};

(4).北京的所有仓库增加100m2的面积。

UPDATE WAREHOUSE

SET SIZE=SIZE+100 WHERE CITY=“北京”;

(5).给低于所有职工平均工资的职工提高5%的工资。

UPDATE EMPLOYEE OUTER

SET OUTER.SALARY=OUTER.SALARY*1.05

WHERE OUTER.SALARY