1、实验日期: 2012年11月13 日指导教师及职称: 李燕实验成绩:开课时间:20122013学年第一学期甘肃政法学院实验管理中心印制实验题目小组合作 否姓名班级学 号一、实验目的1、掌握SELECT语句的语法;2、掌握基于单表的查询方法;3、掌握基于多表的查询方法;4、掌握相关与不相关的嵌套查询;5、掌握使用UNION的集合查询;二实验环境WINDOWS XP+SQL SERVER 2000三、实验内容与步骤单表查询:(1)选择表中的若干列:例:查询所有商店的商店号、商店名。查询所有商品的详细信息。(2)选择表中不重复的元组:查询销售了商品的商店号。(3)选择表中满足条件的元组;查询销售了p
2、01商品的商店编号。查询价格在20003000的商品号、商品名。查询销售了p01或p02商品的商店号。查询所有电视商品的品牌、价格。查询销售表中无销售数量的销售记录。查询价格在2000元以上的海尔品牌商品。(4)使用ORDER BY子句对查询结果进行排序:查询所有商品的信息,结果按价格降序排列,价格相同时按商品名升序排列。(5)使用聚集函数查询:查询销售了商品p01的商店数以及p01商品的销售总量、平均销售量、最大销售量和最小销售量。(6)使用GROUP BY子句进行分组查询:查询各商品的销售总量,只显示销售总量在300以上的商品及销售总量。二多表查询:(1)等值连接查询:查询每个商店及其销售
3、情况。(2)自然连接查询:对上例用自然连接完成。(3)外连接查询:查询每个商店及其销售情况,无任何销售记录的商店也要显示其基本信息。三嵌套查询:(1)不相关子查询:查询与红星商店在同一地区的商店信息。(2)相关子查询;查询至少销售了商店s02所销售的全部商品的商店号。四使用UNION的集合查询:查询上海及北京地区的商店信息。四、实验过程与分析在本次实验过程中,我对SELECT的查询语句有了更深一层的理解,明白了有时候书本上的知识并不是很全面,不可以生搬硬套到现实运用中。比如说,在进行查询时,会出现一些结果列未命名的情况。在这种情况下,如果不起列别名也是可以运行的,但是会影响查询结果的可读性,为
4、了让查询结果的可读性提高,我们需要给每个未命名的结果列取一个容易理解的列别名。另外还有一些SELECT语句的特殊限定:1、SELECT子句中的规定如果要求输出表格中不允许出现重复元组,则在SELECT后加“DISTINCT”;2、SELECT子句中允许出现+,-,*,/,以及列名,常数的算术表达式;3、WHERE 子句中可以用BETWEENAND来限定一个值的范围,还可以使用=和、=、=、!、!=;(3) UNION运算符可以将两个或两个以上上SELECT语句的查询结果集合合并成一个结果集合显示,即执行联合查询;在包括多个查询的UNION语句中,其执行顺序是自左至右,使用括号可以改变这一执行顺序;(4) 等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列;(5) 自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列;