问答题
若将上述各关系直接实现为对应的物理表,现需查询在2005年1月1目到2005年12月31日期间,在该宾馆住宿次数大于5次的客人身份证号,并且按照入住次数进行降序排列。下面是实现该功能的SOL语句,请填补语句中的空缺。 SELECT 住宿.身份证号,count(入住日期) FROM 住宿,客人 WHERE入住日期>=‘20050101’AND入住日期<=‘20051231’ AND 住宿.身份证号=客人.身份证号 GROUP BY (2) (3) count(入住日期)>5 (4)
【正确答案】正确答案:(2)住宿,身份证号 (3)HAVING (4)ORDER BY 2 DESC(或DSC)
【答案解析】解析:SELECT语句由六个子句组成,完整的句法如下: SELECT 目标表的列名或列表达式序列 FROM 基本表或(和)视图序列 [WHERE 条件表达式] [GROUP BY 列名序列 [HAVING 组条件表达式\]\] [ORDER BY 列名[序]……] 整个SELECT语句语义如下:从FROM子句中列出的表中,选取满足WHERE子句中给出的条件表达式的元组,然后按GROUP BY子句中给定列的值分组,再提取满足HAVING子句中组条件表达式的那些组,按SELECT子句给出的列名或列表达式求值输出。ORDER BY子句是对输出的目标表进行排序,可附加ASC(升序)或DESC(降序)。