设有三个基本表,表ITEM(项目号,项目名,项目负责人,电话),BIP(项目号,零件号,数量,日期),PART(零件号,零件名称,规格,单价),完成SQL语句统计出每个项目使用零件的金额和不同项目使用零件的合计金额,并将结果按表SSP(项目号,项目名,金额)的结构显示。SELECT ITEM.项目,项目名,SUM(单价*数量)AS金额FROM ITEM,BIP,PARTWHERE (12)GROUP BY ITEM.项目(13)SELECT“合计”,S12.

题目

设有三个基本表,表ITEM(项目号,项目名,项目负责人,电话),BIP(项目号,零件号,数量,日期),PART(零件号,零件名称,规格,单价),完成SQL语句统计出每个项目使用零件的金额和不同项目使用零件的合计金额,并将结果按表SSP(项目号,项目名,金额)的结构显示。

SELECT ITEM.项目,项目名,SUM(单价*数量)AS金额

FROM ITEM,BIP,PART

WHERE (12)

GROUP BY ITEM.项目

(13)

SELECT“合计”,S

12.


相似考题
更多“设有三个基本表,表ITEM(项目号,项目名,项目负责人,电话),BIP(项目号,零件号,数量,日期),PART(零件号,零件名称,规格,单价),完成SQL语句统计出每个项目使用零件的金额和不同项目使用零件的合计金额,并将结果按表SSP(项目号,项目名,金额)的结构显示。SELECT ITEM.项目,项目名,SUM(单价*数量)AS金额FROM ITEM,BIP,PARTWHERE (12)GROUP BY ITEM.项目(13)SELECT“合计”,S12.”相关问题
  • 第1题:

    设有一个工程供应数据库系统,包括如下四个关系模式:

    .S(SNQ,SNAME,STATUS,CITY);

    .P(PNQ,PNAME,COLOR,WEIGHT);

    .J(INQ,JNAME,CITY);

    .SPJ(SNO,PNQ,JNO,QTY);

    供应商表S由供应商号、供应商名、状态、城市组成;

    零件表P由零件号、零件名、颜色、重量组成;

    工程项目表J由项目号、项目名、城市组成;

    供应情况表SPJ由供应商号、零件号、项目号、供应数量组成;

    (1)用关系代数查询没有使用天津供应商生产的红色零件的工程号;

    (2)用关系代数查询至少使用了供应商S1所供应的全部零件的工程号JNO;

    (3)用SQL查询供应工程J1零件为红色的工程号JNO;

    (4)用SQL查询没有使用天津供应商生产的零件的工程号;

    (5)用SQL语句将全部红色零件改为蓝色;

    (6)用SQL语句将(S2,P4,J6,400)插入供应情况关系。


    参考答案:

    (1)

    (2)

    (3)

    (4)

    (5)

    (6)

  • 第2题:

    查询与项目“sl(项目号)所使用的任意一个零件相同的项目号、项目名称、零件号和零件名称,使用的SQL语句是

    SELECT项目.项目号,项目名称,使用零件.零件号,零件名称;

    FROM 项目,使用零件,零件WHERE项目.项目号:使用零件.项目号【 】 ;

    使用零件.零件号;零件.零件号AND使用零件。零件号【 】;

    (SELECT 零件号FROM 使用零件WHERE 使用零件.项目号='s1')


    正确答案:AND IN
    AND IN 解析:设置多表联接条件时,使用AND短语联接多个查询条件;本题中IN短语相当于集合运算符∈,通过内层查询模块查找满足条件的“零件号”集合,然后从外层查询模块中检索零件号在该集合中的每个元组。

  • 第3题:

    在考生文件夹下完成如下简单应用。 1.用SQL语句完成下列操作:查询项目的项目号、项目名和项目使用的零件号、零件名称,查询结果按项目号降序、零件号升序排序,并存放于表item_temp中,同时将使用的SQL语句存储于新建的文本文件 item.txt中。 2.根据零件信息、使用零件和项目信息3个表,利用视图设计器建立一个视图view_item,该视图的属性列由项目号、项目名、零件名称、单价和数量组成,记录按项目号升序排序,筛选条件是:项目号为"s2”。


    正确答案:
    (1)【操作步骤】
    步骤1:单击工具栏中的“新建”按钮,在“新建”对话框中选择“文件类型”选项组中的“查询”,并单击“新建文件”按钮。
    步骤2:在“添加表或视图”对话框中分别将表——零件信息、使用零件和项目信息——添加到查询设计器,并根据联接条件建立联接。
    步骤3:在查询设计器的“字段”选项卡中,分别将项目信息.项目号、项目信息.项目名.零件信息.零件号、零件信息.零件名称添加到“选定字段”列表中。
    步骤4:在“排序依据”选项卡中,将项目信息.项目号添加到“排序条件”列表中,并选择“降序”单选按钮;再将零件信息.零件号添加到“排序条件”列表中,并选择“升序”单选按钮。
    步骤5:单击“查询”菜单下的“查询去向”命令,在“查询去向”对话框中选择“表”,并输入表名item_temp,单击确定按钮。
    步骤6:单击“查询”菜单下的“查看SQL”命令,并复制全部代码;再单击工具栏中的“新建”按钮,在“新建”对话框中选择“文件类型”选项组下的“文本文件”,单击“新建文件”按钮,将复制的代码粘贴到此处。代码如下所示:
    SELECT项目信息.项目号,项目信息.项目名,零件信息.零件号,;
    零件信息.零件名称;
    FROM使用零件情况!零件信息INNER JOIN使用零件情况!使用零件;
    INNER JOIN使用零件情况!项目信息;
    ON使用零件.项目号=项目信息.项目号;
    ON零件信息.零件号=使用零件.零件号;
    ORDER BY项目信息.项目号DESC,零件信息.零件号:
    INTO TABLE item_temp.dbf
    步骤7:最后单击工具栏中的“保存”按钮,在“另存为”对话框中输入item,单击“保存”按钮;再在命令窗口中输入:do item.txt,按回车键运行查询。
    (2)【操作步骤】
    步骤1:单击工具栏中的“打开”按钮,在“打开”对话框中选择考生文件夹下的“使用零件情况”数据库,再单击“确定”按钮。
    步骤2:在数据库设计器中,单击“数据库设计器”工具栏中的“新建本地视图”按钮,在“新建本地视图”对话框中单击“新建视图”按钮。
    步骤3:在“添加表或视图”对话框中分别双击表零件信
    息、使用零件和项目信息,并单击“关闭”按钮。
    步骤4:在视图设计器的“字段”选项卡中,分别将项目信息.项目号、项目信息.项目名、零件信息.零件名称、零件信息.单价和使用零件.数量添加到选定字段。
    步骤5:在“筛选”选项卡的“字段名”中选择“项目信息.项目号”,“条件”选择“=”,“实例”处输入“s2”;在“排序依据”选项卡中将项目信息.项目号字段添加到“排序条件”列表框,并选择“升序”单选按钮。
    步骤6:单击工具栏中的“保存”按钮,在“保存”对话框中输入视图名称view_item,单击“确定”按钮。最后单击工具栏中的“运行”按钮。

  • 第4题:

    设有使用零件表SYLJ(项目号,零件号,数量),为“数量”字段增加有效性规则:数量>0,应使用的SQL语句是:【 】 TABLE使用零件 【 】 数量SET 【 】 数量>0


    正确答案:ALTER ALTER COLUMN CHECK
    修改表结构应用ALTERTABLE命令,对于一张已存在的表,可以用ALTERTABLE命令的SETCHECK子句设置一个字段的规则,例如:ALTERTABLEcjALTERCOLUMNcj;SETCHECKcj>=0ANDcj=100

  • 第5题:

    查询销售金额合计超过20000的商店,查询结果包括商店名和销售金额合计。正确命令是

    A.SELECT商店名,SUM(销售数量*单价)AS销售金额合计 FROM商店,商品,销售. WHERE销售金额合计20000

    B.SELECT商店名,SUM(销售数量*单价)AS销售金额合计>20000 FROM商店,商品,销售 WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号

    C.SELECT商店名,SUM(销售数量*单价)AS销售金额合计 FROM商店,商品,销售 WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号 AND SUM(销售数量*单价)>20000 GROUP BY商店名

    D.SEKECT商店名,SUM(销售数量*单价)AS销售金额合计 FROM商店,商品,销售 WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号 GROUP BY商店名HAVING SIJM(销售数量*单价)>20000


    正确答案:D
    解析:要查询销售金额合计超过20000的商店,首先要按商店名分组计算销售金额合计,然后用HAVING短语限定分组后查询的条件是销售金额合计超过20000的商店。故D)是正确的。

  • 第6题:

    给定关系模式 SP _P (供应商号,项目号,零件号,数量),查询至少给 3 个(包 含 3 个)不同项目供应了零件的供应商,要求输出供应商号和供应零件数量的总和, 并按供应商号降序排列。 SELECT 供应商号, SUM (数量) FROMSP _P( )( )( )

    A. ORDERBY 供应商号B. GRÒUPBY 供应商号C.ORDERBY 供应商号 ASCD. GROUPBY 供应商号 DESCA. WHERE 项目号 >2B. WHERE COUNT(项目号)>2C.HAVING (DISTINCT 项目号)> 2D. HAVING COUNT(DISTINCT 项目号)>2A.ORPERBY 供应商号 B.GROUPBY 供应商号C.ORDERBY 供应商号 DESC D.GROUP BY 供应商号 DESC


    正确答案:B,D,C

  • 第7题:

    以下题目使用如下三个条件:

    零件.DBF:零件号C(2),零件名称C(10),单价N(10),规格C(8)

    使用零件.DBF:项目号C(2),零件号C(2),数量I

    项目.DBF:项目号C(2),项目名称C(20),项目负责人C(10),电话C(20)

    为“数量”字段增加有效性规则:数量>0,应该使用的SQL语句是【 】,ABLE使用零件【 】数量SET【 】数量>0


    正确答案:ALTER、ALTER、CHECK
    ALTER、ALTER、CHECK 解析:本题考查使用SQL语句设置字段有效性规则的语法格式。为表的字段设置有效性规则,可以使用SQL语句实现,其命令格式为:
    ALTER TABLE表名>ALTER字段名>SETCHECK表达式>

  • 第8题:

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某健身俱乐部要开发一个信息管理系统,该信息系统的部分关系模式如下:员工(员工身份证号,姓名,工种,电话,住址)会员(会员手机号,姓名,折扣)项目(项目名称,项目经理,价格)预约单(会员手机号,预约日期,项目名称,使用时长)(外键:会员手机号)消费(流水号,会员手机号,项目名称,消费金额,消费日期)(外键:会员手机号,项目名称)有关关系模式的属性及相关说明如下:1)俱乐部有多种健身项目,不同的项目每小时的价格不同。俱乐部实行会员制,且需要电话或在线提前预约。2)每个项目都有一个项目经理,一个经理只能负责一个项目。3)俱乐部对会员进行积分,达到一定积分可以进行升级,不同的等级具有不同的折扣。 根据以上描述,回答下列问题: 【问题1】请将下面创建消费关系的SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及消费金额大于零的约束。CREATE TABLE 消费(流水号 CHAR(12) ( a ) ,会员手机号CHAR(11),项目名称CHAR (8),消费金额NUMBER ( b ) ,消费日期DATE,( c ),( d ),);【问题2】(1)手机号为18812345678的客户预约了2014年3月18日两个小时的羽毛球场地,消费流水号由系统自动生成。请将下面SQL语句的空缺部分补充完整。INSERT INTO消费(流水号,会员手机号,项目名称,消费金额,消费日期)SELECT '201403180001','18812345678','羽毛球', ( e ) ,'2014/3/18'FROM会员,项目,预约单WHERE 预约单.项目名称=项目.项目名称AND ( f ) AND 项目.项目名称='羽毛球'AND 会员.会员手机号='18812345678';(2)需要用触发器来实现会员等级折扣的自动维护,函数float vip_value(char(11) 会员手机号)依据输入的手机号计算会员的折扣。请将下面SQL语句的空缺部分补充完整。CREATETRIGGERVIP_TRG AFTER ( g ) 0N ( h )REFERENCINGnew row AS nrowFOR EACH ROWBEGINUPDATE 会员SET ( I )WHERE ( j ) ;END【问题3】请将下面SQL语句的空缺部分补充完整。(1)俱乐部年底对各种项目进行绩效考核,需要统计出所负责项目的消费总金额大于等于十万元的项目和项目经理,并按消费金额总和降序输出。SELECT 项目.项目名称,项目经理,SUM(消费金额)FROM 项目,消费WHERE ( k ) GROUP BY ( l )ORDER BY ( m ) ;(2)查询所有手机号码以"888"结尾,姓"王"的员工姓名和电话。SELECT 姓名,电话FROM员工WHERE姓名 ( n ) AND 电话 ( o )


    答案:
    解析:
    【问题1】【参考答案】(a)PRIMARY KEY (或NOT NULL UNIQUE)(b)CHECK(消费金额>0)(c)FOREIGN KEY(会员手机号)REFERENCES 会员(会员手机号)(d)FOREIGN KEY(项目名称)REFERENCES 项目(项目名称)【试题分析】本题考査SQL的应用,属于比较传统的题目,考查点也与往年类似。本问题考查数据定义语言DDL和完整性约束。根据题意,需要对"消费"表的"流水号"加主键(或非空)约束,考查实体完整性约束,对应的语法为:PRIMARY KEY (或 NOT NULL UNIQUE )"消费金额"需要大于0,所以需要加Check约束,对应的语法为:CHECK (消费金额>0)"会员手机号"是"会员"关系的主键,是"消费"关系的外键,考查参照完整性约束,需要增加外键约束,对应的语法为:FOREIGN KEY (会员手机号)REFERENCES 会员(会员手机号)"项目名称"是"项目"关系的主键,是"消费"关系的外键,考查参照完整性约束,需要增加外键约束,对应的语法为:FOREIGN KEY (项目名称)REFERENCES 项目(项目名称)【问题2】【参考答案】(1)(e) 价格*使用时长*折扣 (f) 预约单.会员手机号=会员.会员手机号(2)(g) INSERT (h)消费 (i)折扣=vip_value(nrow.会员手机号) (j)会员.会员手机号=nrow.会员手机号【试题分析】本问题考查数据操纵语言DML。(1)本题考查一个较完整的查询语句,需要向"消费"关系插入新元组。SELECT子句缺少"消费金额"。消费金额=价格*使用时长*折扣。WHERE子句缺少"预约单"关系和"会员"关系按照"会员手机号"的连接,因此应该增加"预约单.会员手机号=会员.会员手机号"。(2)本题考查触发器,触发器是一个能由系统自动执行对数据库修改的语句。一个触发器由事件、条件和动态三部分组成:事件是指触发器将测试条件是否成立,若成立 就执行相应的动作,否则就什么也不做;动态是指若触发器测试满足预定的条件,那么就由数据库管理系统执行这些动作。本题首先定义触发器的事件,用触发器来实现会员等级折扣的自动维护。(g)和(h)缺少向"消费"关系插入的语句,因此应该分别补充"NSERT"和 "消费"。(i)语句调用vip_value函数实现会员折扣的更新,函数参数为会员手机号,因此应该补充"折扣=vip_value(nrow.会员手机号)"。(j)语句实现"会员"关系和"nrow"关系按照"会员手机号"的连接,因此应该补充"会员.会员手机号=nr0w.会员手机号"。【问题3】【参考答案】 (1)(k)项目.项目名称=消费.项目名称 (i)项目.项目名称,项目经理 HAVING SUM(消费金额)>= 100000 (m) SUM(消费金额)DESC(2)(n) LIKE"王%' (o) LIKE "%888"【试题分析】本问题考査数据操纵语言DML。(1)本题考查一个较完整的查询语句,知识点包括夺标查询、集函数、查询分组、分组条件和排序查询结果。査询涉及"项目"和"消费"关系模式。用集函数SUM(消 费金额)求消费总金额,若有GROUP BY子句,则集函数作用在每个分组上,且GROUP BY之后应包含除了集函数之外的所有结果列。若GROUP BY之后跟有HAVING子句,则只有满足条件的分组才会输出。"RDER BY"列名[ASC|DESC]"对输出结果进行升序或降序的排列,若不明确制定法升序或降序,则默认升序排列。(2)本题考查用关键字LIKE进行字符匹配。LIKE的语法为:[NOT] LIKE '<匹配串>'其中,匹配串可以是一个完整的字符串,也可以含有通配符%和_,其中%代表任意长度(包括0长度)的字符串,_代表单个字符。手机号码以"888"结尾,姓"王"的 员工对用的表示为:姓名LIKE'王%"AND电话LIKE"%888'。

  • 第9题:

    在某企业的工程项目管理数据库中供应商关系Supp、项目关系Proj和零件关系Part的E-R模型和关系模式如下



    Supp(供应商号,供应商名,地址,电话)//供应商号唯一标识Supp中的每一个元组Proj(项目号,项目名,负责人,电话)//项目号唯一标识Proj中的每一个元组Part(零件号,零件名)//零件号唯一标识Part中的每一个元组其中,每个供应商可以为多个项目供应多种零件,每个项目可以由多个供应商供应多种零件,每种零件可以由多个供应商供应给多个项目。SP_P的联系类型为( ),(请作答此空)。

    A.不需要生成一个独立的关系模式
    B.需要生成一个独立的关系模式,该模式的主键为(项目号,零件号,数量)
    C.需要生成一个独立的关系模式,该模式的主键为(供应商号,数量)
    D.需要生成一个独立关个系模式,该模式的主键为(供应商号,项目号,零件号)

    答案:D
    解析:
    题干中:“每个供应商可以为多个项目供应多种零件,每个项目可以由多个供应商供应多种零件,每种零件可以由多个供应商供应给多个项目”,说明三个实体间的联系类型应为:多对多对多。对于多对多的联系在转关系时,应该转为一个独立的关系模式,该关系的主键,应为多方实体码的属性组成。

  • 第10题:

    在某企业的工程项目管理数据库中供应商关系Supp、项目关系Proj和零件关系Part的E-R模型和关系模式如下



    Supp(供应商号,供应商名,地址,电话)//供应商号唯一标识Supp中的每一个元组
    Proj(项目号,项目名,负责人,电话)//项目号唯一标识Proj中的每一个元组Part(零件号,零件名)//零件号唯一标识Part中的每一个元组其中,每个供应商可以为多个项目供应多种零件,每个项目可以由多个供应商供应多种零件,每种零件可以由多个供应商供应给多个项目。SP_P的联系类型为(请作答此空),( )。

    A.*:*:*
    B.1:*:*
    C.1:1:*
    D.1:1:1

    答案:A
    解析:
    题干中:“每个供应商可以为多个项目供应多种零件,每个项目可以由多个供应商供应多种零件,每种零件可以由多个供应商供应给多个项目”,说明三个实体间的联系类型应为:多对多对多。对于多对多的联系在转关系时,应该转为一个独立的关系模式,该关系的主键,应为多方实体码的属性组成。

  • 第11题:

    在某企业的工程项目管理系统的数据库中供应商关系Supp、项目关系Proi和零件关系Part的E-R模型和关系模式如下:

    Supp(供应商号,供应商名地址电话)
    Proj(项目号,项目名,负责人电话)
    Part(零件号,零件名)
    其中,每个供应商可以为多个项目供应多种零件,每个项目可多个供应商供应多种零件。SP_P需要生成一个独立的关系模式,其联系类型为(54)
    给定关系模式SP_P(供应商号项目号零件号数量)查询至少供应了3个项目(包含3项)的供应商,输出其供应商号和供应

    A.*:*:*
    B.1:*:*
    C.1:1:*
    D.1:1:1

    答案:A
    解析:
    从“每个供应商可以为多个项目供应多种零件,每个项目可由多个供应商供应多种零件”中判断SP_P的联系类型是:多对多对多的关系。而选择供应商号和供应零件的数量只能从新的关系模式SP_P中选择。
    査询条件Where与Having的区別:Where是针对单条记录的判断条件,而Having是针对分组之后的判断条件。同时,由于考虑到项目号可能重复,所以要加Distinct去掉重复的项目。

  • 第12题:

    单选题
    查询销售金额合计超过20000的商店,查询结果包括商店名和销售金额合计。正确的命令是(  )。
    A


    SELECT商品名,SUM(销售数量*单价)AS销售金额合计
    FROM商店,商品,销售
    WHERE销售金额合计>20000

    B


    SELECT商品名,SUM(销售数量*单价)AS销售金额合计>20000
    FROM商店,商品,销售
    WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号

    C


    SELECT商品名,SUM(销售数量*单价)AS销售金额合计
    FROM商店,商品,销售
    WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号
    AND SUM(销售数量*单价)>20000 GROUP BY商店名

    D


    SELECT商品名,SUM(销售数量*单价)AS销售金额合计
    FROM商店,商品,销售
    WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号
    GROUP BY商店名HAVING SUM(销售数量*单价)>20000


    正确答案: C
    解析:
    GROUP BY短语对于查询结果进行分组,可以进行分组汇总。HAVING短语必须跟随GROUP BY使用,用来限定分组必须满足的条件。

  • 第13题:

    某数据库中有关系:

    供应商(供应商号,供应商名,地址)

    零件(零件号,零件名,重量)

    项目(项目编号,项目名称,开工日期)

    供应(供应商号,项目编号,零件号,零件数)

    其中一个供应商能提供多种零件和多个项目,一种零件能供给不同的项目和供应商,一个项目可以有不同的供应商和使用不同种类的零件。

    ①根据要求画出ER图;


    正确答案:

  • 第14题:

    SQL语句SELECT 部门表.部门号,部门名称,SUM(单价*数量);FROM 部门表,商品表;WHERE部门表.部门号=商品表.部门号;GROUP BY部门表.部门号查询结果是A)各部门商品数量合计 B)各部门商品金额合计C)所有商品金额合计 D)各部门商品金额平均值


    正确答案:B
    该语句利用SUM()函数在商品表中查询各部门商品的金额合计,该题涉及多表查询,其执行过程是,从部门表中选取部门号和部门名称以及单价和数量字段,乘积后求和,查询出的记录同时要满足部门号字段和商品表中的部门号相等。GROUP BY后的分组字段是部门号,因此它计算的是各个部门商品金额的合计。

  • 第15题:

    查询销售金额合计超过20000的商店,查询结果包括商店名和销售金额合计,正确命令是( )。

    A.SELECT商店名,SUM(销售数量*单价)AS销售金额合计 ROM商店,商品,销售 WHERE销售金额总计20000

    B.SELECT商店名,SUM(销售数量*单价)AS销售金额合计>20000 FRM商店,商品,销售 WHERE商品,商品号=销售.商品号AND商店.商店号=销售.商店号

    C.SELECT商店名,SUM(销售数量*单价)AS销售金额合计 FROM商店,商品,销售 WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号 AND SUM(销售数量*单价)>20000 GROUP BY商店名

    D.SELECT商店名,SUM(销售数量*单价)>20000


    正确答案:D
    D。【解析】根据题意可知,A选项中WHERE语句中的条件错误;B选项中AS是代表为(销售数量*单价)取的别名,不能使用条件,因此B选项错误;C选项中的GROUPBY没语法错误,但没有HAVING语句;D选项正确。

  • 第16题:

    查询单价最高的商品销售情况,查询结果包括商品号、商品名、销售日期、销售数量和销售金额。正确命令是

    A.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售ON商品.商品号=销售.商品号 WHERE单价=(SELECT MAX(单价)FROM商品)

    B.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售ON商品.商品号=销售.商品号 WHERE单价=MAX(单价)

    C.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售WHERE单价=(SELECT MAX(单价)FROM商品)

    D.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售WHERE单价=MAX(单价)


    正确答案:A
    解析:在指定连接字段时可以用WHERE指定连接条件,也可以用超连接关键字JOIN表示普通连接,即只有满足连接条件的记录才出现在查询结果中,但JOIN后面必须用ON子句指定连接条件,故选项C)和D)是错误的,选项B)中的WHERE语句“单价=MAX(单价)”没有指明MAX(单价)这个最大值来自哪个表,故选A)。

  • 第17题:

    在某企业的工程项目管理系统的数据库中供应商关系Supp、项目关系Proj和零件关系Part的E-R模型和关系模式如下:Supp(供应商号,供应商名,地址,电话) Proj(项目号,项目名,负责人,电话) Part(零件号,零件名) 其中,每个供应商可以为多个项目供应多种零件,每个项目可由多个供应商供应多种零件。SP P需要生成一个独立的关系模式,其联系类型为( ) 给定关系模式SP P(供应商号,项目号,零件号,数量)查询至少供应了3个项目(包含3项)的供应商,输出其供应商号和供应零件数量的总和,并按供应商号降序排列。 SELECT 供应商号,SUM(数量) FROM( ) GROUP BY 供应商号 ( ) ORDER BY 供应商号DESC;

    A.*:*:*B.1:*:*C.1:1:*D.1:1:1A.SuppB.ProjC.PartD.SP PA.HAVING COUNT(项目号)>2B.WHERE COUNT(项目号)>2C.HAVING COUNT(DISTINCT(项目号))>2D.WHERE COUNT(DISTINCT(项目号))>3


    正确答案:A,D,C

  • 第18题:

    在某企业的工程项目管理数据库中,供应商关系 Supp (供应商号,供应商名,地址,电话 ) .项目关系 Proj (项目号,项目名,负责人,电话)和零件关系 Part (零件号, 零件名)的 E-R 模型如下图所示。其中,每个供应商可以为多个项目供应多种零件,每个项目可由多个供应商供应多种零件。a)SP_P需要生成一个独立的关系模式,其联系类型为( ) b)给定关系模式 SP_ P (供应商号,项目号,零件号,数量),按查询条件“查询至少供应了 6 个项目(包含 6 项)的供应商,输出其供应商号和供应零件数量的总和,并按供应商号降序排列”,将正确选项填入SQL 语句的空项中。 SELECT供应商号,SUM (数量) FROM( ) GROUPBY 供应商号 HAVING COUNT (DISTINCT (项目号)) >5( )

    A.*:*:* B.1:*:* C.1:1:* D.1:1:1A.SuppB.ProjC.PartD.SP_PA.ORDER BY供应商号B.GROUP BY 供应商号C.ORDER BY 供应商号 DESCD.GROUP BY 供应商号 DESC


    正确答案:A,D,C

  • 第19题:

    设有“订货”表(订单号,客户号,金额,订购日期),使用SQL语句检索每个客户订货的“总金额”(注意要生成该字段名):SELECT客户号,__________FROM订货GROUP BY客户号


    正确答案:
    SUM(金额)AS总金额 (或sum(金额)总金额)
    【解析】检索每个客户订货的总金额时,须按“客户号”进行分组计算。再在每一组中进行计算,这里应该用SUM函数求总和,用AS短语指定新的字段名,该短语也可以省略。 

  • 第20题:

    给定关系模式SP_P(供应商号,项目号,零件号,数量),查询至少给3个(包含3个)不同项目供应了零件的供应商,要求输出供应商号和供应零件数量的总和,并按供应商号降序排列。SELECT供应商号,SUM(数量)FROMSP_P( )(请作答此空)( )。

    A.WHERE项目号>2
    B.WHERE COUNT(项目号)>2
    C.HAVING(DISTINCT项目号)>2
    D.HAVING COUNT(DISTINCT项目号)>2

    答案:D
    解析:
    SELECT语句的基本语法结构:SELECT[ALL|DISTINCT]<列名>[,···n]FROM<表名|视图名>[,···n][WHERE<条件表达式>][GROUP BY<列名>[HAVNG<条件表达式>]][ORDER BY<列名>[ASC|DESC][,···n]]本题中,需要进行分组,分组的依据为供应商号;同时在分组的基础上需要指定条件,这时需使用HAVING子句,统计项目的个数大于,由于项目可能重复,因此在统计之前应该消除重复的项目,需使用DISTINCT关键字。题干要求按供应商号进行降序排列,需使用ORDER BY子句和关键字DESC

  • 第21题:

    给定关系模式SP_P(供应商号,项目号,零件号,数量),查询至少给3个(包含3个)不同项目供应了零件的供应商,要求输出供应商号和供应零件数量的总和,并按供应商号降序排列。SELECT供应商号,SUM(数量)FROMSP_P( )( )(请作答此空)。

    A.ORPERBY供应商号
    B.GROUPBY供应商号
    C.ORDERBY供应商号DESC
    D.GROUP BY供应商号DESC

    答案:C
    解析:
    SELECT语句的基本语法结构:SELECT[ALL|DISTINCT]<列名>[,···n]FROM<表名|视图名>[,···n][WHERE<条件表达式>][GROUP BY<列名>[HAVNG<条件表达式>]][ORDER BY<列名>[ASC|DESC][,···n]]本题中,需要进行分组,分组的依据为供应商号;同时在分组的基础上需要指定条件,这时需使用HAVING子句,统计项目的个数大于,由于项目可能重复,因此在统计之前应该消除重复的项目,需使用DISTINCT关键字。题干要求按供应商号进行降序排列,需使用ORDER BY子句和关键字DESC

  • 第22题:

    在某企业的工程项目管理系统的数据库中供应商关系Supp、项目关系Proi和零件关系Part的E-R模型和关系模式如下:

    Supp(供应商号,供应商名地址电话)
    Proj(项目号,项目名,负责人电话)
    Part(零件号,零件名)
    其中,每个供应商可以为多个项目供应多种零件,每个项目可多个供应商供应多种零件。SP_P需要生成一个独立的关系模式,其联系类型为(54)
    给定关系模式SP_P(供应商号项目号零件号数量)查询至少供应了3个项目(包含3项)的供应商,输出其供应商号和供应

    A.HAVING COUNT(项目号)>2
    B.WHERE COUNT(项目号)>2
    C.HAVING COUNT(DISTINCT(项目号))>2
    D.WHERE COUNT(DISTINCT(项目号))>3

    答案:C
    解析:
    从“每个供应商可以为多个项目供应多种零件,每个项目可由多个供应商供应多种零件”中判断SP_P的联系类型是:多对多对多的关系。而选择供应商号和供应零件的数量只能从新的关系模式SP_P中选择。

    査询条件Where与Having的区別:Where是针对单条记录的判断条件,而Having是针对分组之后的判断条件。同时,由于考虑到项目号可能重复,所以要加Distinct去掉重复的项目。

  • 第23题:

    在某企业的工程项目管理系统的数据库中供应商关系Supp、项目关系Proi和零件关系Part的E-R模型和关系模式如下:

    Supp(供应商号,供应商名地址电话)
    Proj(项目号,项目名,负责人电话)
    Part(零件号,零件名)
    其中,每个供应商可以为多个项目供应多种零件,每个项目可多个供应商供应多种零件。SP_P需要生成一个独立的关系模式,其联系类型为(54)
    给定关系模式SP_P(供应商号项目号零件号数量)查询至少供应了3个项目(包含3项)的供应商,输出其供应商号和供应

    A.Supp
    B.Proj
    C.Part
    D.SP_P

    答案:D
    解析:
    从“每个供应商可以为多个项目供应多种零件,每个项目可由多个供应商供应多种零件”中判断SP_P的联系类型是:多对多对多的关系。而选择供应商号和供应零件的数量只能从新的关系模式SP_P中选择。
    査询条件Where与Having的区別:Where是针对单条记录的判断条件,而Having是针对分组之后的判断条件。同时,由于考虑到项目号可能重复,所以要加Distinct去掉重复的项目。