假设供应商S和供应情况SPJ的关系模式分别为:S(Sno,Sname,Status,City)和SPJ(Sno,Pno,Jno,Qty)。SQL语句(22)不能正确地查询出“零件号Pno等于‘P3’的供应商名Sname",而(23).能正确查询的关系代数表

admin2010-05-10  23

问题 假设供应商S和供应情况SPJ的关系模式分别为:S(Sno,Sname,Status,City)和SPJ(Sno,Pno,Jno,Qty)。SQL语句(22)不能正确地查询出“零件号Pno等于‘P3’的供应商名Sname",而(23).能正确查询的关系代数表达式。

选项 A、SELECT   DISTINCT Sname
B、SELECT    DISTmCT Sname             FROMS                              FROMS                WHERE EXISTS                    WHERE 0<(SELECT *(SEIECT COUNT(*)FROM SPJ                          FROM SPJ                  WHERE S.Sno=SPJ.SnO             WHERE 
C、SELECT Sname
D、SELECT Sname              FROMS                            FROMS, SPJ                   WHERE EXISTS                   WHERES.Sno=SPJ.Sno(SELECT *                        AND SPJ.Pno= ’P3’)FROM SPJ                          GROUP BYSname                   W

答案C

解析 SQL语言是一种典型的关系型数据库语言,它包含数据描述语言DDL和数据操纵语言DML。其中,DDL包括数据定义和数据控制,DML包括数据查询和数据修改。SQL的核心是数据库查询语句,语句的一般格式是:
   SELECT  目标列
   FROM    基本表(或视图)
   [WHERE 条件表达式)
   [GROUPBY 列名1  [HAVING    内部函数表达式]]
   [ORDER BY 列名2  [ASC或DESC]]
   整个语句的含义是:根据WHERE子句中的条件表达式,从基本表(或视图)中找出满足条件的元组,按SELECT子句的目标列,选出元组中的分量形成结果表。如果有ORDER子句,则结果表要根据指定的列名2升序(ASC)或降序(DESC)排序。GROUP子句将结果按列名1分组,每个组产生结果表中的一个元组,通常在每组中作用库函数。分组的附加条件用HAVING短语给出,只有满足内部函数表达式的组才予输出。COUNT函数用来统计元组个数。DISTINCT用来去掉查洵结果中重复的行。
转载请注明原文地址:https://kaotiyun.com/show/JetZ777K
0

最新回复(0)