1、1)求“选“数据库原理与技术”课程的学生名单”2)求“没有任课的教师名单”。3)求“一人任多门(1)课程的教师名单”。4)求“选修人数少于2人的课程名单”。5)求“高于所有课程总平均分的学生姓名、课程名及成绩。使用SQL查询分析器编辑查询、执行并查看结果。3使用SQL命令建立:1)数据库“工程管理”。2)表:工程(工程编号,预算,地址)、供应商(供应商编号,名称,地址)、零件(零件编号,名称,单价)和供应(供应商编号,工程编号,零件编号,数量)。3)视图:“北京供应商的供应情况”。4使用SQL查询分析器的“打开表”功能完成三个表的数据录入。工程表: 供应商表:工程编号预算(万元)地址供应商编号
2、名称J1123.4北京S1群星J278.8天津S2胜利杭州J323.98上海S3飞马S4解放零件表:零件编号规格单价(元)P1螺母大0.5P2螺栓0.4P3螺丝刀4.3P4小供应表:数量5008009004001130380300J421098020012006005使用“工程管理”中的数据完成下列查询:1)求“供应零件P1的供应商的名称”。2)求“将零件P1供应给工程J1的供应商的名称”。3)求“向工程J1提供零件的供应商的地址”。4)求“在同一城市的工程编号和供应商的名称”。5)求“只向一个工程提供零件的供应商的名称”。6)求“供应零件数量最多的供应商的名称”。6编写存储过程,计算每个学生
3、的年龄,将其放在一个新表“学生年龄表”中。五、实验内容、结果及分析查询语句:SELECT 姓名FROM 学生成绩join 课程基本信息on (学生成绩.课程号=课程基本信息.课程号) join 学生基本信息on (学生基本信息.学号=学生成绩.学号)WHERE 课程名=数据库原理与技术查询结果:FROM 教师基本信息WHERE 教师编号NOT IN (SELECT DISTINCT 任课教师号FROM 课程基本信息WHERE 任课教师号IS not NULL)运行结果: SELECT 姓名where 教师编号IN(SELECT 任课教师号FROM 课程基本信息GROUP BY 任课教师号HAV
4、ING COUNT(*)1)SELECT 课程名where 课程号IN(SELECT 课程号FROM 学生成绩GROUP BY 课程号HAVING COUNT(*)=all(select AVG(成绩)AS 课程平均分from 学生成绩GROUP BY 课程号)查询结果:2使用SQL命令建立:1.工程(工程编号,预算,地址)、2. 供应商(供应商编号,名称,地址)3.零件(零件编号,名称,单价)供应(供应商编号,工程编号,零件编号,数量)4.使用SQL查询分析器的“打开表”功能完成三个表的数据录入。工程表供应商零件表供应表5.使用“工程管理”中的数据完成下列查询:4)求“供应零件P1的供应商的
5、名称”。 查询语句:select 名称from 供应商where 供应商编号in(select 供应商编号from 供应where (供应.零件编号=P1) 查询结果:5)求“将零件P1供应给工程J1的供应商的名称”。 and 供应.工程编号=J1 6)求“向工程J1提供零件的供应商的地址”。select 地址where (供应.工程编号=7)求“在同一城市的工程编号和供应商的名称”。select 工程编号,名称from 供应商join 工程on (工程.地址=供应商.地址)8)求“只向一个工程提供零件的供应商的名称”。9)求“供应零件数量最多的供应商的名称”。select 名称,sum(数量
6、)as 总数from 供应join 供应商on (供应.供应商编号= 供应商.供应商编号)group by 名称having sum(数量)(select sum(数量) as sumGROUP BY 名称) 6.编写存储过程,计算每个学生的年龄,将其放在一个新表“学生年龄表”中。CREATE TABLE 学生年龄表( 姓名VARCHAR(20) NOT NULL PRIMARY KEY, 年龄VARCHAR(20) NOT NULL )INSERT 学生年龄表(姓名,年龄)SELECT 姓名,年龄=YEAR(GETDATE()-YEAR(出生日期) FROM 学生基本信息SELECT * FROM 学生年龄表建立好的表
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2