根据E-R图中给出的词汇,按照“有关模式名(属性1,属性2,…)”的格式,将此E-R图转换为关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。要求其中的关系模式至少属于第三范式。 如下的SQL语言用于查询“在该银行中一笔贷款

admin2009-02-15  47

问题 根据E-R图中给出的词汇,按照“有关模式名(属性1,属性2,…)”的格式,将此E-R图转换为关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。要求其中的关系模式至少属于第三范式。
如下的SQL语言用于查询“在该银行中一笔贷款贷给多个(至少2个)客户的所有贷款号和发放贷款的支行名称”的不完整语句,请在空缺处填A.正确的内容。
   SELECT Borrow. Lno, Bname
   FROM Borrow, Loan
   WHERE(1)
   GROUP BY Borrow. Lno
   HAVING(2)

选项

答案(1)Borrow. Lno =Loan.Lno (2) COUNT(distinct idno)>=2

解析 本题是要查询在该银行中一笔贷款贷给多个(至少2个)客户的所有贷款号和发放贷款的支行名称。Borrow表中记录着各贷款号和该贷款的客户,Loan表中记录着各贷款号和发放该贷款的支行,要完成题目查询必须将Borrow和Loan联系起来,即需要两者的贷款号相等。所以填空(1)应该为Borrow. Lno=Loan. Lno。
   “一笔贷款贷给多个客户”则需要按贷款号进行分组,只有客户个数至少两个的组才是满足查询要求的分组。对于分组的条件应该添加在HAVING子句中,个数的统计需利用 COUNT(idno)函数,因此填申(2)为COUNT(idno)>=2。
转载请注明原文地址:https://jikaoti.com/ti/wPi7FFFM
0

最新回复(0)