1、SQL 查询(每小题 2 分,共10 分)已知有如下 4 个表SB.DBF 编号 C(5),名称 C(6),启用日期 D(8),主要设备 L(1),价格 N(9,2)BMDM.DBF 代码 C(2),名称 C(10)ZZ.DBF 编号 C(5),增值 N(8,2)DX.DBF 编号 C(5),年月 C(4),费用 N(6,1)完成下列查询任务:1、查询所有设备的名称 select 名称 from sb 2、查询主要设备的名称和价格 SELECT 名称,价格 FROM SB WHERE 主要设备3、查询设备编号,设备名称,所在部门名称SELECT 编号,SB.名称,BMDM.名称 FROM SB
2、 INNER JOIN BMDM ON SB.部门=BMDM.代码4、查询各部门设备价格总和(每个部门都要求出本部门设备价格和)SELECT 部门,SUM(价格) FROM SB GROUP BY 部门5、查询编号为“102-3”设备的增值总额和费用总额SELECT SB.编号,SUM(增值 ),SUM(费用) FROM ZZ INNER JOIN SB INNER JOIN DX ON SB.编号=DX.编号;ON ZZ.编号=SB.编号 GROUP BY SB.编号 WHERE SB.编号=”102-3”1、查询 SB 表中所有主要设备的信息。Select * from sb where
3、主要设备2、查询各个部门的各自拥有的设备价格总和。Select 部门,sum(价格) from sb group by 部门3、查询所有设备的大修情况。Select * from dx4、查询如下信息:设备名称,所属部门名称,价格,并按部门降序排序。SELECT SB.名称,BMDM.名称 ,价格 FROM SB INNER JOIN BMDM ON 部门=代码 ORDER BY 部门 DESC5、查询主要设备和非主要设备中各自的最高价格设备信息。SELECT 编号,MAX(价格) FROM SB GROUP BY 主要设备 INTO ARRAY ASELECT * FROM SB WHERE
4、 编号=A(1,1)SELECT * FROM SB WHERE 编号=A(2,1)已知有如下的两个表教师:职工号 姓 名 职 称 年 龄 工 资 系 号1102001 肖天海 副教授 35 2000.00 011102002 王岩盐 教 授 40 3000.00 021102003 刘星卫 讲 师 25 1500.00 011102004 张月新 讲 师 30 1500.00 031102005 李明玉 教 授 34 2000.00 011102006 孙民山 教 授 47 2100.00 021102007 钱无名 教 授 49 2200.0003学院:系号 系名01 英语02 会计03
5、工商管理完成下列查询任务:1、使用SQL语句求工商管理系的所有职工的工资总和。Select sum(工资) from 教师 where 系号 in(select 系号 from 学院 where 系名=” 工商管理”)2、查询所有工资多于2000元的职工的职工号和姓名。Select 职工号,姓名 from 教师 where 工资2000.003、查询所有的职称(职称不重复)select distinct 职称 from 教师4、查询英语系教师的平均年龄SELECT AVG(年龄),教师.系号,学院.系号,系名 FROM 教师,学院 WHERE 学院.系名=”英语” AND 教师.系号=学院.系
6、号5、查询各种职称的平均年龄。SELECT 职称,AVG(年龄) FROM 教师 GROUP BY 职称部门表: 商品表部门号商品号商品名称单价数量产地40 0101A牌电风扇200.0010广东40 0104A牌微波炉350.0010广东400105B牌微波炉600.0010广东201032C牌传真机1000.0020上海40 0107D牌微波420.0010北京炉_A20 0110A牌电话机200.0050广东20 0112B牌手机2000.0010广东40 0202A牌电冰箱3000.00 2广东30 1041B牌计算机6000.0010广东30 0204C牌计算机10000.0010上
7、海完成下列查询任务:1、 查询单价大于 1000 的商品名称。Selecct 商品名称 from 商品表 where 单价1000.002、 统计各部门的商品总额的最大值。商品总额=单价*数量。SELECT 部门号,MAX(单价*数量)FROM 商品表GROUP BY 部门号3、 查询数量超过 10 的商品的商品号和所在部门名称。 4、 统计商品单价大于 200 的商品中各产地商品种类数大于 2 的产地名称和商品种类数,并按商品种类数降序排列。5、 查询商品单价在420,1000的部门名称。3 SELECT 商品号,部门名称 FROM 部门部门号 部门名称40 家用电器部10 电视录摄像机部2
8、0 电话手机部30 计算机部表,商品表 WHERE 部门.部门号=商品.部门号4、SELECT 产地,COUNT(*) 提供的商品种类数 FROM 商品表 WHERE 单价200 ;GROUP BY 产地 HAVING COUNT(*)2ORDER BY 2 DESC5、 SELECT 部门名称 FROM 部门表 WHERE 部门号 IN; (SELECT 部门号 FROM 商品表 WHERE 单价 BETWEEN 420 AND 1000)1、查询商品的商品号、商品名称和单价。2、查询产地为广东的商品号和部门名称。3、查询各部门商品金额合计。4、查询商品的部门号,部门名称,商品号,商品名称,
9、单价,并按部门号降序排列,部门号相同按单价升序排列。5、查询各产地中部门种类超过 2 的商品单价的平均值和产地。1、 SELECT 商品号,商品名称,单价 FROM 商品表2、 SELECT 商品号,部门名称 FROM 部门表,商品表 WHERE 部门表.部门号=商品表.部门号3、SELECT 部门表.部门号,部门名称,SUM(单价 *数量 ) FROM 部门表,商品表; WHERE 部门表.部门号=商品表.部门号GROUP BY 部门表.部门号4、 SELECT 部门表.部门号,部门名称,商品号,商品名称,单价 FROM 部门表,商品表; WHERE 部门表.部门号 =商品表.部门号ORDE
10、R BY 部门表.部门号 DESC,单价5、SELECT 产地,AVG(单价 ) FROM 商品表 GROUP BY 产地 HAVING COUNT( DISC 部门号)2设有表 s(学号,姓名,性别)、sc(学号,课程号,成绩) 、course(课程号,课程名)1、查询选修 3 号课程的学生姓名。2、查询学生的选课情况(学号,姓名,课程名,成绩)并把查询结果存入表 XSCJ中。3、查询各门课程的平均成绩(课程名,平均成绩)4、查询选修的每门课程的成绩都高于或等于 85 分的学生的学号、姓名和性别。5、查询每个学生的最高成绩和最低成绩。1、 SELECT 姓名 FROM S,SC WHERE
11、S.学号=SC.学号 AND 课程号=”3”2、 SELECT S.学号,姓名,课程名,成绩 FROM S,SC,COURSE WHERE S.学号=SC.学号 AND SC.课程号=COURSE.课程号3、 SELECT 课程名,AVG(成绩) 平均成绩 FROM SC,COURSE WHERE SC.课程号=COURSE.课程号 GROUP BY 课程号4SELECT 学号,姓名,性别 FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩8002、SELECT 职工号,城市 FROM 仓库,职工 WHERE (面
12、积500) AND (职工.仓库号=仓库.仓库号)3、SELECT * FROM 仓库表 WHERE EXISTS (SELECT * FROM 职工表 WHERE 仓库号 =仓库表.仓库号)4、 SELECT 仓库号,COUNT(*) FROM 职工 GROUP BY 仓库号 5、SELECT * FROM 仓库 WHERE 仓库号 IN (SELECT MIN(面积) FROM 仓库)仓库表 仓库号 所在城市 A1 长春A2 上海 A3 天津 A4 广州 职工表 职工号 仓库号 工资M1 A1 2000.00M3 A3 2500.00M4 A4 1800.00M5 A2 1500.00M6
13、 A4 1200.001、 查询A1仓库所有职工的职工号2、 查询所有职工的职工号,工资,所在城市3、 求所有职工的平均工资4、至少有两个职工的每个仓库的平均工资5、查询工资大于”A1”仓库所有职工工资的职工所在的仓库号,要求仓库号不重复1、 SELECT 职工号 FROM 职工 WHERE 仓库号 =”A1”2、 SELECT 职工号,工资,城市 FROM 职工,仓库 WHERE 职工.职工号 =仓库.职工号3、 SELECT AVG(工资) FROM 职工4 SELECT 仓库号, COUNT(*),AVG(工资) FROM 职工表 GROUP BY 仓库号 HAVING COUNT(*)
14、=25、SELECT DISTINCT 仓库号 FROM 职工表 WHERE 工资=ALL ;(SELECT 工资 FROM 职工表 WHERE 仓库号=“A1“)1、查询工资大于2000元的职工号。2、查询在长春工作的职工号。3、查询A1仓库的平均工资。4、检索在广州仓库工作的职工记录,要求显示职工号和工资字段.5、查询北京或上海的仓库的职工的工资总和SELECT 职工号 FROM 职工 WHERE 工资20002、 SELECT 职工号 FROM 仓库,职工 WHERE 仓库.仓库号=职工.仓库号3、 SELECT AVG(工资) FROM 职工 WHERE 仓库号 =”A1”4 SELE
15、CT 职工号,工资 FROM 仓库表,职工表 WHERE 仓库表.仓库号=职工表.仓库号 AND 仓库表.所在城市=“广州“5 SELECT SUM(工资) FROM 职工表 WHERE 仓库号 IN;(SELECT 仓库号 FROM 仓库表 WHERE 所在城市=“北京“ OR 所在城市=“上海“)1、查询选修 3 号课程的学生姓名。2、查询学生的选课情况(学号,姓名,课程名,成绩)并把查询结果存入表 XSCJ中。3、查询各门课程的平均成绩(课程名,平均成绩)4、查询选修的每门课程的成绩都高于或等于 85 分的学生的学号、姓名和性别。5、查询每个学生的最高成绩和最低成绩1、 SELECT 姓
16、名 FROM S,SC WHERE S.学号=SC.学号 AND 课程号=”3”2、 SELECT S.学号,姓名,课程名,成绩 FROM S,SC,COURSE WHERE S.学号=SC.学号 AND SC.课程号=COURSE.课程号3 SELECT 课程名,AVG(成绩) 平均成绩 FROM SC,COURSE WHERE SC.课程号=COURSE.课程号 GROUP BY 课程号4、SELECT 学号,姓名,性别 FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩85)5、 SELECT 学号, MAX(成绩) ,MIN(成绩 ) FROM SC GROUP BY 学号