阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某航空公司要开发一个订票信息处理系统,该系统的部分关系模式如下: 航班(航班编号,航空公司,起飞地,起飞时间,目的地,到达时间,票价) 折扣(航班编号,开始日期,结束日期,折扣) 旅

admin2014-08-23  27

问题 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某航空公司要开发一个订票信息处理系统,该系统的部分关系模式如下:
航班(航班编号,航空公司,起飞地,起飞时间,目的地,到达时间,票价)
折扣(航班编号,开始日期,结束日期,折扣)
旅客(身份证号,姓名,性别,出生日期,电话,VIP折扣)
购票(购票单号,身份证号,航班编号,搭乘日期,购票金额)
有关关系模式的属性及相关说明如下:
(1)航班表中的起飞时间和到达时间不包含日期,同一航班不会在一天出现两次及两次以上;
(2)各航空公司会根据旅客出行淡旺季适时调整机票的折扣,旅客购买机票的购票金额计算公式为:票价×折扣×VIP折扣,其中旅客的VIP折扣与该旅客已购买过的机票的购票金额总和相关,在旅客每次购票后被修改。VIP折扣值的计算由函数floatvip一value(char[18]身份证号)完成。根据以上描述,回答下列问题。
请将如下SQL语句的空缺部分补充完整。(1)查询搭乘日期在2012年1月1日至2012年12月3 1日之间,且合计购票金额大于等于10000元的所有旅客的身份证号、姓名和购票金额总和,并按购票金额总和降序输出。
SELECT旅客.身份证号,姓名,SUM(购票金额)
FROM旅客,购票
WHERE    (k)
GROUP BY    (l)
ORDERBY    (m);
(2)经过中转的航班与相同始发地和目的地的直达航班相比,会享受更低的折扣。查询从广州到北京,经过一次中转的所有航班对,输出广州到中转地的航班编号、中转地和中转地到北京的航班编号。
SELECT    (n)
FROM航班航班1,航班航班2
WHERE (o);

选项

答案(1)(k)旅客.身份证号=购票.身份证号AND 搭乘日期BETWEEN‘2012/1/1’AND‘2012/12/31’ (1)旅客.身份证号,姓名HAVING SUM(购票金额)>=1 0000 (m)SUM(购票金额)DESC (2)(n)航班1.航班编号,航班1.目的地,航班2.航班编号 (o)航班1.起飞地=‘广州’AND航班2.目的地=‘北京’AND 航班1.目的地=航班2.起飞地

解析 (1)本问题考查一个较完整的查询语句,包括的知识点有多表查询、聚集函数、分组、筛选组和排序查询结果。WHERE条件中应给出两个表的关联关系和日期条件;GROUPBY应按照身份证号进行分组,用组内购票金额总和大于等于10000作筛选组,ORDER BY以SUM(购票金额)进行降序输出。
(2)本问题考查连接查询,涉及到别名的使用、连接条件和选择条件及输出。
转载请注明原文地址:https://jikaoti.com/ti/OwN7FFFM
0

相关试题推荐
最新回复(0)