课程名称 实验名称 数据库原理 实验3 查询语句练习(二) 姓名 实验 成绩 学号 B10050812 实验目的: 班级 B100508 日期 2012.10.21 练习连接查询和子查询,掌握运用SELECT语句表达复杂的查询。 实验条件: 微机1台、SQL Server 2005 实验内容与步骤: 一、现有“零件供应”数据库,其中包含3个表: 供应商(供应商号,名称,电话,所在地) 零件(零件号,零件名,单价) 供应(供应商号,零件号,数量) 在该数据库中,实现下列查询,写出相应的select语句: 1. 查询哪个供应商的哪种零件的供应数量最大。 2. 查询供应商S2供应的全部零件的零件号、零件名、单价、数量。 3. 查询供应商S4、S5供应的相同零件号、零件名、单价。 4. 查询供应‘铝材’的供应商号、名称、电话、所在地。 5. 列出所在地是“北京”的供应商供应的零件号、零件名、单价、数量。 二、在“student_course”数据库中实现下列查询,写出相应的select语句: 1.查询求各个课程的课程号、课程名及相应的选课人数。 2.查询学生的学号、姓名及其选修课程的总学分数。 实验总结结论或问题分析): 6. 通过本次实验更加熟悉了对sql的查询操作,本次主要使用了外连接与嵌套查询。①在第一题第一问中,查询哪个供应商的哪种零件的供应数量最大,用到嵌套,即先在供应表中求出零件供应数量最大的量,然后再供应表中查找某个元组的数量那一列与此最大量是否相等,若相等,则返回元组的供应商号和零件号,然后再在三表连接后的关系中查找满足条件的供应商名称和零件名。②最大的问题出现在第三问。查询供应商S4、S5供应的相同零件号、零件名、单价。处理中应该先在供应表中找到“供应商s5提供所有零件的零件号”,然后再与“供应商是s4”这个条件相与,返回的是零件号,那么这个返回值第一必须是包含在s5所提供的所有零件号的集合中,第二它也必须是满足是s4所提供的零件,那么就实现了返回的是s4,s5共同拥有的零件号。③最后就是三表连接问题,三表连接的格式是(A left/right join B on (连接条件)) left/right join C on (连接条件)。本次上机实验使我更加巩固了许多新的知识点。
因篇幅问题不能全部显示,请点此查看更多更全内容