niusouti.com

针对数据库bookshop,创建视图sale_item_view,该视图中包含订单编号、订货日期、图书编号及数量。可以使用以下SQL语句实现: create view sale_item_view(order_no,order_date,book_no,qty) as select sales.order_no,sales.order_date,book_no,qty from sales,sale_item where sales.order_no=sale_item.order_no

题目

针对数据库bookshop,创建视图sale_item_view,该视图中包含订单编号、订货日期、图书编号及数量。可以使用以下SQL语句实现: create view sale_item_view(order_no,order_date,book_no,qty) as select sales.order_no,sales.order_date,book_no,qty from sales,sale_item where sales.order_no=sale_item.order_no


相似考题
更多“针对数据库bookshop,创建视图sale_item_view,该视图中包含订单编号、订货日期、图书编号及数量。可以使用以下SQL语句实现: create view sale_item_view(order_no,order_date,book_no,qty) as select sales.order_no,sales.order_date,book_no,qty from sales,sale_item where sales.order_no=sale_item.order_no”相关问题
  • 第1题:

    求至少出版3本以上图书的作者姓名及数量,下列SQL语句正确的是( )。

    A.SELECT 姓名,COUNT(*) AS 数量 FROM 图书,作者; HAVING COUNT(*)>=3

    B.SELECT 姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 HAVING COUNT(*)>=3

    C.SELECT姓名,COUNT(*) AS 数量 FROM 图书,作者; FOR 作者.作者编号=图书.作者编号; WHERE 图书.作者编号 HAVING COUNT(*)>=3

    D.SELECT 姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 SET COUNT(*)>=3


    正确答案:B
    解析:本题中首先通过GROUP BY短语按“作者编号”字段对“图书”表中的记录进行分组,然后利用 COUNT()分组统计每个作者的图书数量,再通过HAVING 子句限定出版数量至少在3本以上的记录。注意: HAVING子句用来进一步限定分组要满足的条件,必须要与GROUP BY短语连用并接在GROUP BY短语之后。

  • 第2题:

    在已打开数据库的情况下,利用SQL派生一个包含姓名、课程名称和成绩字段的xsview视图,正确的语句是( )。

    A.CREATE VIEW xsview AS; SELECT 学生.姓名,课程.课程名称,成绩,成绩; FROM 学生 INNER JOIN 成绩; INNER JOIN 课程; WHERE 成绩.课程编号=课程.课程编号; AND 学生.学号=成绩.学号

    B.CREATE VIEW xsview AS; (SELECT 学生.姓名,课程.课程名称,成绩.成绩; FROM 学生 INNER JOIN 成绩; INNER JOIN 课程; ON 成绩.课程编号=课程.课程编号; ON 学生.学号=成绩.学号)

    C.CREATE VIEW xsview AS; SELECT 学生.姓名,课程.课程名称,成绩.成绩; WHERE 学生 INNER JOIN 成绩; INNER JOIN 课程; ON 成绩.课程编号=课程.课程编号; ON 学生.学号=成绩.学号

    D.CREATE VIEW xsview AS; SELECT 学生.姓名,课程.课程名称,成绩.成绩; FROM 学生 INNER JOIN 成绩; INNER JOIN 课程; ON 成绩.课程编号=课程.课程编号; ON 学生.学号=成绩.学号


    正确答案:D
    解析:利用SQL命令可以定义直接建立视图,命令格式如下:
    CREATE VIEW 视图名 AS;
    SELECT语句
    本题中要注意的是在定义视图时,SELECT语句部分不需要用括号括起来,在进行超连接查询时,可使用的 SQL命令格式如下:
    SELECT……
    FROM数据库表1>INNER JOIN数据库表2>
    ON连接条件>
    WHERE……
    其中,INNER JOIN等价于JOIN,为普通的连接,在Visual FoxPro中称为内部连接;ON连接条件>指定两个进行表连接的条件字段。
    注意:连接类型在FROM子句中给出,并不是在 WHERE子句中,连接条件在ON子句中给出。

  • 第3题:

    在已打开数据库的情况下,利用SQL创建一个包含姓名、课程名称和成绩字段的xsview视图,正确的语句是( )。

    A.CREATE VIEW xsview AS SELECT学生.姓名,课程.课程名称,成绩.成绩 FROM学生INNER JOIN成绩 INNER JOIN课程 WHERE成绩.课程编号:=课程.课程编号 AND学生.学号一成绩.学号

    B.CREATE VIEW xsview As (SELECT学生.姓名,课程.课程名称,成绩.成绩 FROM学生INNERJOIN成绩 INNER JOIN课程 ON成绩.课程编号=课程.课程编号 ON学生.学号=成绩.学号)

    C.CREATE VIEW xsview A SELECT学生.姓名,课程.课程名称,成绩.成绩 WHERE学生INNER JOIN成绩 INNER JOIN课程 ON成绩.课程编号=课程.课程编号 ON学生.学号=成绩.学号

    D.CREATE VIEw Xsview A SELECT学生.姓名,课程.课程名称,成绩.成绩 FROM学生INNER JOIN成绩 INNER JOIN课程 ON成绩.课程编号=课程.课程编号 ON学生.学号=成绩.学号


    正确答案:D
    利用SQL命令可以定义直接建立视图,命令格式如下:CREATEVIEW视图名AS;SELECT语句本题中要注意的是在定义视图时,SELECT语句部分不需要用括号括起来,在进行超链接查询时,可使用的SqL命令格式如下:SELECT…FROM<数据库表I>INNERJOIN<数据库表2>ON<连接条件>WHERE…其中,INNERJOIN等价于JOIN,为普通的连接,在VisualFoxPr0中称为内部连接;ON<连接条件>指定两个进行表连接的条件字段。注意:连接类型在FROM子句中给出,并不是在WHERE子句中,连接条件在ON子句中给出。

  • 第4题:

    求至少出版两本以上图书的作者姓名及数量,下列SQL语句正确的是

    A.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; HAVING COUNT(*)>=2

    B.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 HAVING COUNT(*)>=2

    C.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 SET COUNT(*)>=2

    D.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; AND COUNT(*)>=2; GROUP BY 图书.作者编号


    正确答案:B
    解析:本题利用SQL分组查询的功能,查询至少出版2本以上图书的作者,需要利用HAVING子句可以对分组条件做进一步限定。选项A)中,没有对查询进行分组;选项C)中的SET短语错误,对分组条件做进一步限定,需要利用HAVING子句;选项D)中也存在语法错误,HAVING子句只能跟在GROUP BY短语后一起使用。

  • 第5题:

    查询尚未归还书的图书编号和借书日期,正确的SQIL语句是

    A.sELECT图书编号,借书日期FROM借阅WHERE还书日期=””

    B.SEI正cT图书编号,借书日期FROM借阅WHERE还书日期=NULL

    C.sELECT图书编号,借书日期FROM借阅WHERE还书日期IS NULl。

    D.SELECT图书编号,借书日期FROM借阅WwHERE还书日期


    正确答案:C
    解析:SQL支持空值,同样可以利用空值进行查询。查询空值时要使用ISNULL,而“=NULL”是无效的,因为空值不是一个确定的值,所以不能用“=”这样的运算符进行比较。

  • 第6题:

    求至少出版两本以上图书的作者姓名及数量,下列SQl。语句正确的是( )。

    A.SELECT作者姓名,cOUNT(*)AS数量FROM图书,作者 HAVING COUNT(*)>一2

    B.SELECT作者姓名,COUNT(*)AS数量FROM图书,作者 WHERE作者.作者编号=图书.作者编号 GROUP BY图书.作者编号HAVING COUNT(*)>=2

    C.SELECT作者姓名,COUNT(*)AS数量FROM图书,作者 WHERE作者.作者编号=图书.作者编号 GROUP BY图书.作者编号SET COUNT(*)>=2

    D.SELECT作者姓名,COUNT(*)AS数量FROM图 书,作者 WHERE作者.作者编号一图书.作者编号 AND COUNT(*)>=2GROUP BY图书.作者编号


    正确答案:B
    B。【解析】本题要求掌握HAVING子句的功能及作用,选项A中,没有对查询进行分组;选项C中SET短语错误,对分组条件做进一步限定,需要HAVING子句,选项D中也存在语法错误,HAVING子句只能跟在GROUPBY短语后一起使用。

  • 第7题:

    有如下SQL语句 CREATE VIEW kh-view AS SELECT*FROM kh WHERE 职业=“教师”执行该语句产生的视图包含的记录个数是( )。

    A.1

    B.2

    C.3

    D.4


    正确答案:C
    解析:本题语句的功能是从kh表中创建一个视图kh-view,查询语句指出该视图的记录需满足职业是教师的条件,产生的视图包含的记录即是职业为“教师”的3个记录。

  • 第8题:

    有如下SQL语句 CREATE VIEW stock view AS SELECT *FROM stock WHERE交易所="深圳" 执行该语句后产生的视图包含的记录个数是

    A.1

    B.2

    C.3

    D.4


    正确答案:B
    解析:本题考查对建立视图命令的掌握。题干中SQL语句的功能是从stock表中创建一个名为stock_view的视图,该视图由那些“交易所”字段为“深圳”的记录组成.通过查看数据表文件可以看出,满足条件的记录只有两条,对应于原数据表中的第7、8两条记录,因此组成该视图的记录个数为2,选项B为正确答案。

  • 第9题:

    请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。  CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J    WHERE SPJ.JNO=J.JNO AND J.JNAME=’三建’  针对该视图VSP完成下列查询: 找出三建工程项目使用的各种零件代码及其数量。


    正确答案:SELECT DIST PNO,QTY FROM VSP

  • 第10题:

    管理Oracle数据库。Jack负责管理“销售”部门。他和他的雇员经常需要查询数据库以确定客户及其订单。他要求您创建一个视图,为他和他的同事简化此过程。此视图不接受INSERT、UPDATE或DELETE操作。应执行以下哪条语句()

    • A、CREATE VIEW sales_view AS(SELECT companyname,city,orderid,orderdate,total FROM customers,orders WHERE custid=custid}WITHREAD ONLY
    • B、CREATE VIEW sales_view(SELECT c.companyname,c.city,o.orderid,o.orderdate,o.tota lFROM customersc,orderso WHERE c.custid=o.custid}WITHREAD ONLY
    • C、CREATE VIEW sales_view AS(SELECT c.companyname,c.city,o.orderid,o.orderdate,o.total FROM customersc,orderso WHERE c.custid=o.custid}
    • D、CREATE VIEW sales_view AS(SELECT c.companyname,c.city,o.orderid,o.orderdate,o.total FROM customersc,orderso WHERE c.custid=o.custid)WITHREAD ONLY

    正确答案:D

  • 第11题:

    问答题
    请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。 CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME=’三建’ 针对该视图VSP完成下列查询: 找出供应商S1的供应情况

    正确答案: SELECT DIST * FROM VSP WHERE SNO='S1'
    解析: 暂无解析

  • 第12题:

    单选题
    查询2009年被借过书的图书编号和借书日期,正确的SQL语句是(  )。
    A

    SELECT图书编号,借书日期FROM借阅WHERE借书日期=2009

    B

    SELECT图书编号,借书日期FROM借阅WHERE year(借书日期)=2009

    C

    SELECT图书编号,借书日期FROM借阅WHERE借书日期=year(2009)

    D

    SELECT图书编号,借书日期FROM借阅WHERE year(借书日期)=year(2009)


    正确答案: A
    解析:
    在SQL语言中,可以用year函数对DATE类型字段取年份,返回类型为整型。

  • 第13题:

    根据 “ 歌手 ” 表建立视图 myview, 视图中含有包括了 “ 歌手号 ” 左边第一位是 “ 1 ” 的所有记录,正确的 SQL 语句是

    A)CREATE VIEW myview AS SELECT * FROM 歌手 WHERE LEFT( 歌手号 ,1)="1"

    B)CREATE VIEW myview AS SELECT * FROM 歌手 WHERE LIKE("1" , 歌手号 )

    C)CREATE VIEW myview SELECT * FROM 歌手 WHERE LEFT( 歌手号 ,1)="1"

    D)CREATE VIEW myview SELECT * FROM 歌手 WHERE LIKE("1" , 歌手号 )


    正确答案:A

  • 第14题:

    查询所有“工程师”读者借阅过的图书编号,正确的SQL语句是( )。

    A.SELECT图书编号FROM读者,借阅WHERE职称="工程师"

    B.SELECT图书编号FROM读者,图书WHERE职称="工程师"

    C.SELECT图书编号FROM借阅WHERE图书编号= (SELECT图书编号FROM借阅WHERE职称="工程师")

    D.SELECT图书编号FROM借阅WHERE借书证号IN (SELECT借书证号FROM读者WHERE职称="工程师")


    正确答案:D
    D。【解析】这是一个基于多个关系的查询,查询结果出自一个关系,但相关条件却涉及多个关系。所以使用嵌套查询。

  • 第15题:

    根据SQL标准,创建一个视图abc,通过该视图只能对表student中系dept为‘IS’的记录进行更新操作。下面哪条语句适用?()

    A create view abc as select * from student where dept=’IS’

    B create view abc as select * from student where dept=’IS’ with check option

    C create view abc as student where dept=’IS’

    D create view abc as select dept=’IS’ from student


    参考答案B 单选题

  • 第16题:

    请完成下列查询的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。

  • 第17题:

    查询2009年被借过书的图书编号和借书日期,正确的SQL语句是

    A.SELECT图书编号,借书日期FROM借阅WHERE借书日期=2009

    B.SELECT图书编号,借书日期FROM借阅WHERE year(借书日期)=2009

    C.SELECT图书编号,借书日期FROM借阅WHERE借书日期=year(2009)

    D.SELECT图书编号,借书日期FROM借阅WHERE year(借书日期)=year(2009)


    正确答案:B
    解析:此处需要注意的是year()函数的使用,“year(借书日期)=2009”表示借书日期的年份为2009。

  • 第18题:

    查询尚未归还书的图书编号和借书日期,正确的SQL语句是( )。

    A.SELECT图书编号,借书日期FROM借阅WHERE还书日期=""

    B.SELECT图书编号,借书日期FROM借阅WHERE还书日期=NULL

    C.SELECT图书编号,借书日期FROM借阅WHERE还书日期IS NULL

    D.SELECT图书编号,借书日期FROM借阅WHERE还书日期


    正确答案:C
    C。【解析】库表中还书默认值为NULL,未还书记录即为还书日期为NULL的记录,条件语句中应为ISNULL。

  • 第19题:

    在书店受订管理中涉及到以下3个关系模式:

    书籍 Books(Bid,Bname,Price,Author, Publisher)

    订单 Orders(Ordend,Orderdate,Cid)

    订单明细 Orderlist(Orderid,Bid,Qty)

    其中各属性的含义是:Bid书籍编号,Price单价,Author作者,Publisher出版商,Ordend订单编号, Orderdate下订日期,Cid客户编号, Qty数量。每张订单具有唯一的订单编号;每张订单编号中可包含多种书籍,但每种书籍的编号仅允许出现一次。则“订单”实体的主键是(33),“订单明细”实体的主键是(34)。请将正面的SQL语句空缺部分补充完整。

    CREATE TABLE ORDERLIST(ORDERID CHAR(20),

    BD CHAR(6),

    QTY NUMBERIC(9),

    (35)(ORDERID,BID),

    (36)(ORDERID)

    (37)(BID))

    A.Orderid

    B.Cid

    C.(Orderid,Orderdate)

    D.(Orderdate,Cid)


    正确答案:A

  • 第20题:

    根据“歌手”表建立视图myview,视图中含有“歌手号”左边第一位是"1”的所有记录,正确的SQL语句是( )。

    A)CREATE VIEW myview AS SELECT * FROM 歌手 WHERE LEFT(歌手号,1)="1"

    B)CREATE VIEW myview AS SELECT * FROM 歌手 WHERE LIKE("1",歌手号)

    C)CREATE VIEW myview SELECT * FROM 歌手 WHERE LEFT(歌手号,1)="1"

    D)CREATE VIEW myview SELECT * FROM 歌手 WHERE LIKE("1",歌手号)


    正确答案:A
    建立视图的SQL命令格式是:
    CREATE VIEW视图名AS SELECT语句,故可以排除选项C和选项D),而“歌手号’左边第一位是‘1”’应该用LEFT函数实现。

  • 第21题:

    请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。 CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME=’三建’ 针对该视图VSP完成下列查询: 找出供应商S1的供应情况


    正确答案:SELECT DIST * FROM VSP WHERE SNO='S1'

  • 第22题:

    尝试使用此SQL语句查询数据库: SELECT产品标识"产品编号",类别标识"类别",价格"价格" FROM产品 WHERE"类别"=5570 ORDERBY"产品编号"; 此语句在执行时会失败。以下哪个子句包含语法错误?()

    • A、SELECT产品标识"产品编号",类别标识"类别",价格"价格"
    • B、ORDER BY"产品编号";
    • C、FROM产品
    • D、WHERE"类别"=5570

    正确答案:D

  • 第23题:

    单选题
    查询所有“工程师”读者借阅过的图书编号,正确的SQL语句是(  )。
    A

    SELECT图书编号FROM读者,借阅WHERE职称=工程师

    B

    SELECT图书编号FROM读者,图书WHERE职称=工程师

    C


    SELECT图书编号FROM借阅WHERE图书编号=
    (SELECT图书编号FROM借阅WHERE职称=工程师)

    D


    SELECT图书编号FROM借阅WHERE借书证号IN
    (SELECT借书证号FROM读者WHERE职称=工程师)


    正确答案: D
    解析:
    嵌套查询的表达式为:
    SELECT字段FROM表名WHERE字段IN(〝WH1〞,〝WH2〞)
    其中WH1,WH2为WHERE条件查询语句。
    题中要求查询所有“工程师”读者借阅过的图书编号,则只需借阅表中的借书证号满足一定范围即可,而这个范围就是读者表中所有职称为“工程师”的读者的借书证号。

  • 第24题:

    单选题
    查询尚未归还书的图书编号和借书日期,正确的SQL语句是(  )。
    A

    SELECT图书编号,借书日期FROM借阅WHERE还书日期=

    B

    SELECT图书编号,借书日期FROM借阅WHERE还书日期=NULL

    C

    SELECT图书编号,借书日期FROM借阅WHERE还书日期IS NULL

    D

    SELECT图书编号,借书日期FROM借阅WHERE还书日期


    正确答案: A
    解析:
    由于还书日期默认为空,一旦读者归还了图书,则还书日期就不再为空,所以可以通过还书日期是否为空来判断是否已还书。SQL利用空值进行查询的判断字段为ISNULL。