1、学号+姓名+XX专业+AB班+实验报告4+简单检索数据 3 实 验 报 告(2018-2019学年第二学期)课程名称: 数据库系统理论与实践 学 系: 信息科学学院 专 业: 计算机科学与技术 学生姓名: 学 号: 班 级: A/B组 测 验 报 告实训名称第XX次实验(第XX周星期XX)指导教师王辰尹知识点:一十一、 使用数据处理函数;一十二、 汇总数据;一十三、 分组数据实验步骤数据准备: 执行SQL文件,创建表,导入数据(先创建或者调用数据库,然后执行create.sql文件创建表的结构,然后执行populate.sql向表中插入数据;)语法:source 文件路径;表一:产品表,结构如
2、下:products(prod_id,vend_id,prod_name,prod_price,prod_desc)。其中:prod_id代表产品IDvend_id 代表产品供应商ID,prod_name代表产品名称,prod_price代表产品价格,prod_desc代表产品描述。具体数据如下:表二:供应商表,结构如下:vendors(vend_id,vend_name,vend_address,vend_city,vend_state,vend_zip,vend_country);其中vend_id代表供应商ID,vend_name,代表供应商名称,vend_address代表供应商地址,
3、vend_city代表供应商的城市,vend_state代表供应商的州,vend_zip代表供应商的邮政编码,vend_country代表供应商的国家。具体数据如下:表三:订单表,结构如下:orderitems(order_num,order_item,prod_id,quantity,item_price);其中:order_num代表订单号,order_item代表订单物品号,prod_id代表产品ID,quantity代表物品数量,item_price代表物品价格;具体数据如下:表四 顾客表,结构如下:customers(cust_id,cust_name,cust_address,cu
4、st_city,cust_state,cust_zip,cust_country,cust_contact,cust_email);其中:cust_id代表顾客的ID,ust_name代表顾客名,cust_address代表顾客的地址,cust_city代表顾客的城市,cust_state代表顾客的州,cust_zip代表顾客的邮政编码,cust_country代表顾客的国家,cust_contact代表顾客的联系名,cust_email代表顾客的联系email地址;具体数据如下: 第11章 使用数据处理函数11.1函数注意:函数没有SQL的可移植性强;11.2 使用函数 用于处理文本串的文本
5、函数; 用于在数值数据上进行算术操作的数值函数; 用于处理日期和时间值并从这些值中提取特定成分的日期和时间函数; 返回DBMS正使用的特殊信息的系统函数;11.2.1 文本处理函数 例子:查询供应商的名称,以大写形式输出,并按供应商名称排序;11.2.1 日期和时间处理函数注意:应该总是用4位数的年份,日期格式为yyyy-mm-dd;例:检索订单日期为2005-09-01的订单号和客户id;例:检索订单日期为2005年9月的订单号和客户id;11.2.3 数值处理函数 第12章 汇总数据12.1 聚集函数 确定表中行数(或者满足某个条件或包含某个特定值的行数); 获得表中行组的和; 找出表列(
6、或所有行或某些特定的行)的最大值、最小值和平均值。注意:聚集函数括号里一般为1个列名,或者一个计算表达式;12.1.1 AVG( )函数例:查询products表中所有产品的平均价格;例:查询products表中由供应商1003所提供的所有产品的平均价格;12.1.2 COUNT ( )函数 使用COUNT(*)对表中行的数目进行计数,不管列中包含的是空值(NULL)还是非空值;1 使用COUNT(COLUMN)对特定列中具有值的行进行计数,忽略NULL值;例子:查询customers表中客户的总数;例子:查询customers表中有电子邮件地址客户的总数;12.1.3 MAX ( )函数例子
7、:查询products表中产品的最高价格;12.1.4 MIN( )函数例子:查询products表中产品的最低价格;12.1.5 SUM( )函数例子:查询orderitems表中订单号为20005所订购物品的总数;例子:查询orderitems表中订单号为20005所订购物品的总数;12.2 聚集不同值注意:使用聚集函数时使用DISTINCT时结果不一样;若添加DISTINCT在列名前则表示取消重复行再进行计算;12.3 组合聚集函数例子:在products表中查询产品的总数量,平均价格,最高价格,最低价格; 第13章 分组数据13.1数据分组例:查询供应商1003提供的产品数目;13.2
8、创建分组语法:GROUP BY例:查询每个供应商及其供应的产品数目;13.3 过滤分组语法:GROUP BY HAVING COUNT(*) 操作符 数值;例子:在orders表中查询有两条及以上订单记录的客户id和其对应的订单数量;例子:在products表中查询供应2个(含)以上、价格为10(含)以上的产品的供应商;例子:在products表中查询供应2个(含)以上产品的供应商;13.4 分组和排序查询:在orderitems中查询总计订单价格大于等于50的订单的订单号和总计订单价格;查询:在orderitems中查询总计订单价格大于等于50的订单的订单号和总计订单价格,并按订单价格升序输
9、出;13.5 SELECT子句顺序加分练习题:1、在products表中查询价格最高的产品;2、在orderitems表中查询所有订单的平均价格,最高价格,最带价格,以及订单数量;3、在venodrs表中返回每个供应商名称的前3个字符;4、在venodrs表中返回每个供应商名称的长度;5、在orders表中查询在2005年10月下的所有订单;6、在orders表中查询在2005年10月下的订单的数量,有多少个?;7、在orders表中查询分别在2005年9月和2005年10月的订单数量;8、在products表中查询每个供应商及其供应的产品的平均价格;9、在products表中查询供应商供应产品的平均价格大于等于10的供应商及平均价格,并按平均价格的降序排列;10、在products表中查询产品编号以ANV开头的产品编号及名称;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1