以下SQL语句用于查询没有订购产品代码为“1K10”的产品的所有客户名。请填补其中的空缺。SELECT CustomerName FROM Customer (1)WHERE (2)(SELECT * FROM OrderDetml B,Order CWHERE B.ProductNo=C.ProductNoAND B.ProductNo='1KIO'AND C.CustomerNo=A.CustomerNo)

题目

以下SQL语句用于查询没有订购产品代码为“1K10”的产品的所有客户名。请填补其中的空缺。

SELECT CustomerName FROM Customer (1)

WHERE (2)

(SELECT * FROM OrderDetml B,Order C

WHERE B.ProductNo=C.ProductNo

AND B.ProductNo='1KIO'

AND C.CustomerNo=A.CustomerNo)


相似考题
更多“以下SQL语句用于查询没有订购产品代码为“1K10”的产品的所有客户名。请填补其中的空缺。 SELECT Cus ”相关问题
  • 第1题:

    请完成下列查询的SQL语句。

    (1)查询名称中包含“数据库”的图书的图书名称,作者,出版社和出版日期。

    SELECT (d)

    FROM 图书

    WHERE 图书名称 (e);

    (2)查询提供销售(图书表中有)但没有销售过(没在订单明细表中出现)的图书名称和出版社。

    SELECT 图书名称,出版社

    FROM 图书

    WHERE NOT EXISTS (

    SELECT (f)

    FROM 订单明细

    WHERE (g));

    (3)查询订购图书数量最多的会员名及其订购的数量。

    SELECT 用户名, (h)

    FROM订单,订单明细

    WHERE (i)

    GROUP BY 用户名

    HAVING (j)

    (SELECT SUM (数量)

    FROM 订单,订单明细

    WHERE 订单.订单编号=订单明细.订单编号

    GROUP BY 用户名);

    (4)为了统计会员的购买行为信息,实施有意义的客户关怀策略,查询会员的平均订购间隔时间,考虑多次购买图书和一次购买图书的情况(其中,DATEDIFF函数表示两个日期之间的天数)。

    SELECT 用户名,CASE WHEN (k)

    THEN DATEDIFF (MAX (订购日期),MIN (订购日期)) / (1)

    ELSE DATEDIFF(CURRENT_TIMESTAMP,MIN(订购日期))

    END AS AVG GAP

    FROM 订单

    (m);


    正确答案:(1)(d)图书名称作者出版社出版日期 (e)LIKE'%数据库%' (2)(f)* (g)图书.图书编号=订单明细.图书编号 (3)(h)SUM(数量) (i)订单.订单编号=订单明细.订单编号 (j) SUM(数量)>=ALL (4)(k)COUNT(*)>1 (l)(COUNT(*)-1或COUNT(*)也给分 (m)GROUP BY 用户名
    (1)(d)图书名称,作者,出版社,出版日期 (e)LIKE'%数据库%' (2)(f)* (g)图书.图书编号=订单明细.图书编号 (3)(h)SUM(数量) (i)订单.订单编号=订单明细.订单编号 (j) SUM(数量)>=ALL (4)(k)COUNT(*)>1 (l)(COUNT(*)-1或COUNT(*)也给分 (m)GROUP BY 用户名 解析:本题考查查询语句SELECT的语法,查询是SQL的重要内容。
    (1)考查基本的SQL查询语法,SELECT后是要查询的属性,查询条件是包含“数据库”的图书,因此用LIKE关键字。
    (2)考查NOTEXISTS语法,(f)处填*。该查询为相关查询,因此(g)处的条件为图书.图书编号=订单明细.图书编号。
    (3)考查较复杂的嵌套查询、分组查询和ALL关键字。子查询得到所有会员的订购数,题目要求查询订购数最多的会员名和订购数,因此(j)的答案为SUM(数量)>=ALL。
    (4)考查分组查询、聚集函数和CASE语法。平均订购间隔时间对一次购买和多次购买的会员有不同的计算方式,对一次购买的会员,平均订购时间为当前时间—订购时间;而对于多次购买的会员,平均订购时间为(最晚的订购时间—最早的订购时间)/间隔数,间隔数为订购数-1。

  • 第2题:

    用于查询的方式查询与“陈静”教师职称相同的教师的姓名、性别及职称。请对下列的SELECT-SQL语句填空: SELECT姓名,性别,职称FROM教师表WHERE职称=【 】


    正确答案:(SELECT职称FROM教师表WHERE姓名=“陈静”)
    (SELECT职称FROM教师表WHERE姓名=“陈静”) 解析:当一个查询语句中包含另一个查询语句时,这种查询称为子查询或查询嵌套。在本题中,子查询向主查询返加一个值,即“陈静”教师职称“讲师”,然后以此作为父查询的条件进行查询。

  • 第3题:

    ●试题三

    阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

    【说明】

    甲公司的经营销售业务目前是手工处理的,随着业务量的增长,准备采用关系数据库对销售信息进行管理。经销业务的手工处理主要涉及三种表:订单、客户表和产品表(见表2,表3和表4)。

    为了用计算机管理销售信息,甲公司提出应达到以下要求:产品的单价发生变化时,应及时修改产品表中的单价数据。客户购货计价采用订货时的单价。订货后,即使单价发生变化,计算用的单价也不变。

    在设计数据库时,经销部的王先生建立了如图4所示的数据模型。其中,方框表示实体,单向箭头表示1对多的联系,双向箭头表示多对多的联系。

    由于上述模型对建立关系数据库是不合适的,因此王先生又修改了数据模型,并设计了如下几个关系(带下划线的数据项是关键项,最后一个关系中没有指出关键项):

    Customer(CustomerNo,CustomerName,Address,Phone)

    Product(ProductNo,ProductName,UnitPrice)

    Order(OrderNo,CustomerNo,Date)

    OrderDetail(OrderNo,ProductNo,Quantity)

    【问题1】

    请按【说明】中的要求画出修改后的数据模型。

    【问题2】

    (1) 【说明】中的几个关系仍无法实现甲公司的要求,为什么?

    (2) 需要在哪个关系中增加什么数据项才能实现这个要求?

    【问题3】

    写出OrderDetail中的关键项。

    【问题4】

    以下SQL语句用于查询没有订购产品代码为"1K10"的产品的所有客户名。请填补其中的空缺。

    SELECT CustomerName FROM Customer (1)

    WHERE (2)

    (SELECT*FROM OrderDetail B,Order C

    WHERE

    B.ProductNo=

    C.ProductNo

    AND

    B.ProductNo=′1K10′

    AND

    C.CustomerNo=A.CustomerNo)


    正确答案:
    ●试题三[问题1]【答案】如图1所示。图1【解析】订单的情况不能作为订单的属性处理而应该上升为实体,同时由于Order与Product是多对多的关系,所以应该拆分为一个名为OrderDetail的关系模式。其中,Order和OrderDetail是一对多的关系,Produce和OrderDetail是一对多的关系。[问题2]【答案】(1)因为只有product记录了单价,一旦单价发生改变,用户订单地价格就会发生改变,因此,计算一张订单将采用新的单价,不符合要求。(2)有两种方法:一是在Order表中加入一项表示订单地产品总价,二是在Order表中加入产品单价,这两种方法都能满足要求。[问题3]【答案】OrderNo,ProductNo【解析】在客户订商品中,一次订货下一个订单,一个订单可以有多种商品,即对应多个OrderDetail,也就是说,一个订单、一种商品确定一个OrderDetail,所以关键字是(OrderNo,productNo)。[问题4]【答案】(1)A或AS(2)NOTEXIST【解析】在SQL语句的最后一行中出现了字符A,而其他地方没有给出字符A的含义,所以第一个空只能填A,表示Customer表的简称。子查询的含义是"定购产品代码是1K10产品的所有客户名",那么根据题意空二应该是:NOTEXIST。

  • 第4题:

    以下的SQL语句是书店用于查询“所有订购了bid为‘123-456’图书的用户订购其他图书的情况”的不完整语句,请在空缺处填入正确的内容。


    正确答案:依题意分析最内层的SQL语句查找订购了123-456的客户cidordernum只出现在Orderlist和order中因此(5)空缺处应填写C.ordernum(4)空缺处应该填写C。因为要求寻找这些用户还订购哪些其他书籍所以(3)空缺处应填写in。
    依题意分析,最内层的SQL语句查找订购了123-456的客户cid,ordernum只出现在Orderlist和order中,因此(5)空缺处应填写C.ordernum,(4)空缺处应该填写C。因为要求寻找这些用户还订购哪些其他书籍,所以(3)空缺处应填写in。

  • 第5题:

    客户(客户号,名称,联系人,地址,电话号码) 产品(产品号,名称,规格说明,单价) 订购单(订单号,客户号,产品号,数量,订购日期) 查询客户名称中有“电脑”二字的客户信息,正确的SQL命令是( )。

    A. SELECT*FROM客户WHERE名称LIKE”%电脑%”

    B. SELECT*FROM客户FOR名称LIKE”%电脑%”

    C. SELECT*FROM客户WHERE名称=”%电脑%”

    D. SELECT*FROM客户FOR名称=”%电脑%”


    正确答案:A
    SQL SELECT查询中使用WHERE未匹配条件,又由于查询条件是名称中含有“电脑”的客户,则用到匹配函数LIKE。LIKE子句的使用格式为:字段LIKE字符串表达式,其中,字符串表达式中可以使用通配符号,%表示匹配包含零个或多个字符的任意字符串,一表示任意一个字符。