以下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)
第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);
第2题:
用于查询的方式查询与“陈静”教师职称相同的教师的姓名、性别及职称。请对下列的SELECT-SQL语句填空: 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)
第4题:
以下的SQL语句是书店用于查询“所有订购了bid为‘123-456’图书的用户订购其他图书的情况”的不完整语句,请在空缺处填入正确的内容。
第5题:
客户(客户号,名称,联系人,地址,电话号码) 产品(产品号,名称,规格说明,单价) 订购单(订单号,客户号,产品号,数量,订购日期) 查询客户名称中有“电脑”二字的客户信息,正确的SQL命令是( )。
A. SELECT*FROM客户WHERE名称LIKE”%电脑%”
B. SELECT*FROM客户FOR名称LIKE”%电脑%”
C. SELECT*FROM客户WHERE名称=”%电脑%”
D. SELECT*FROM客户FOR名称=”%电脑%”