找出"作者"库表中没有出现在"获奖名单"库表中的所有作者信息的SQL语句,(提示:使用NOT IN,NOT EXISTS,以及外部连接(+)三种方法),并说明那种方法是不优化的出版社: 出版社代码 char(2),出版社名称 varchar2(32)图书: 图书编号 char(8),图书名称 varchar2(128),出版社代码 char(2),作者代号char(4),图书简介 varchar2(128)作者: 作者代号 char(4),作者名称 varchar2(10),性别 char(1),年龄 n

题目

找出"作者"库表中没有出现在"获奖名单"库表中的所有作者信息的SQL语句,(提示:使用

NOT IN,NOT EXISTS,以及外部连接(+)三种方法),并说明那种方法是不优化的

出版社: 出版社代码 char(2),出版社名称 varchar2(32)

图书: 图书编号 char(8),图书名称 varchar2(128),出版社代码 char(2),作者代号

char(4),图书简介 varchar2(128)

作者: 作者代号 char(4),作者名称 varchar2(10),性别 char(1),年龄 number(3),文学

方向 varchar2(64)

获奖名单: 获奖日期 date,获奖人员 char(4)

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

第 ( 30 ) 到第( 35 )题基于图书表、读者表和借阅表三个数据库表,它们的结构如下:

图书 ( 图书编号 , 书名 , 第一作者 , 出版社 ) :图书编号、书名、第一作者和出版社为 C 型字段,图书编号为主关键字;

读者 ( 借书证号 , 单位 , 姓名 , 职称 ) :借书证号、单位 、姓名、职称为 C 型字段,借书证号为主关键字;

借阅 ( 借书证号 , 图书编号 , 借书日期 . 还书日期 ) : 借书证号和图书 编号为 C 型字段 ,借 书日期和还书日期为 D 型字段,还书日期默认值为 NULL ,借书证号和图书编号共同构成主关键字 。

( 30 )查询第一作者为 “ 张三 ” 的所有书名及出版社,正确的 SQL 语句是

A ) SELECT 书名,出版社 FROM 图书 WHERE 第一作者=张三

B ) SELECT 书名,出版社 FROM 图书 WHERE 第一作者二 " 张三 "

C ) SELECT 书名,出版社 FROM 图书 WHERE " 第一作者 " =张三

D ) SELECT 书名,出版社 FROM 图书 WHERE " 第一作者 "=" 张三 "


正确答案:B

第2题:

查询北京作者出版的图书情况,要求包含作者姓名、书名和价格信息,并按图书价格降序排列,下列SQL语句正确的是

作者 作者编号 作者姓名 所在城市

1001 王力 北京

1002 刘方 北京

1003 张剑 上海

1004 程红 上海

1005 张进 上海

图书 图书编号 书名 出版单位 价格 作者编号

0001 计算机应用 清华出版社 26.50 1001

0002 C++ 电子工业出版社 32.00 1001

0003 计算机基础知识 电子工业出版社 28.00 1002

0004 网络应用 清华出版社 24.50 1003

0005 数据库应用 清华出版社 26.00 1003

0006 数据库组成原理 清华出版社 23.00 1003

0007 Java 电子工业出版社 27.50 1004

0008 网页设计 电子工业出版社 31.00 1004

A.SELECT 作者姓名,书名,价格 FROM 图书,作者 ; JOIN 图书.作者编号=作者.作者编号; WHERE 所在城市="北京"; ORDER BY 价格 DESC

B.SELECT 作者姓名,书名,价格 FROM 图书,作者 ; JOIN 图书.作者编号=作者.作者编号; WHERE 所在城市="北京"; ORDER BY 价格

C.SELECT 作者姓名,书名,价格 FROM 图书,作者 ; WHERE 图书.作者编号 = 作者.作者编号; AND 所在城市="北京"; ORDER BY 价格 DESC

D.SELECT 作者姓名,书名,价格 FROM 图书,作者 ; WHERE 图书.作者编号 = 作者.作者编号; AND 所在城市 ="北京"; ORDER BY 价格


正确答案:C
解析:本题的SQL语句的含义是通过作者表和图书表的内部联接查询符合条件的记录,注意表间关联字段的选择,以及条件连接的逻辑运算符。使用ORDER BY短语可对查询结果排序,GROUP BY短语用来记录分组。选项A)和选项B)都存在查询条件和表联接的语法错误,选项D)中,查询结果没有按"价格"降序排列。

第3题:

书脊的内容包括图书名称、作者名称外,还包括()。

A.出版社名称

B.作者简介

C.书号

D.价格


参考答案:A

第4题:

图书(图书号,图书名,作者编号,出版社,出版日期)

作者(作者姓名,作者编号,年龄,性别)

用SQL语句查询年龄小于平均年龄的作者姓名、图书名,出版社。


正确答案:
        

第5题:

建立一个“职员”表,表中有5个字段:职员号、姓名、性别、年龄、部门。要求职员号属性的值唯一,并且不能为空值。建立该表的SQL语句可以是______。

A.CREATE TABLE 职员(职员号 CHAR(6),姓名CHAR(8),; 性别CHAR(2),年龄INT(4),部门CHAR(12))

B.CREATE TABLE职员(职员号CHAR(6)NULL,姓名CHAR(8),; 性别CHAR(2),年龄INT(4),部门CHAR(12))

C.CREATE TABLE 职员(职员号CHAR(6)NOT NULL UNIQUE,; 姓名CHAR(8),性别CHAR(2),年龄INT(4),部门CHAR(12))

D.CREATE TABLE职员(职员号CHAR(6)UNIQUE,姓名CHAR(8),: 性别CHAR(2),年龄INT(4),部门CHAR(12))


正确答案:C
解析:SQL支持空值,空值是不知道或不确定的值。NOT NULL表示不允许有空值,UNIQUE表示属性的值唯一。所以,选项C建立的表符合题目要求。

第6题:

设有图书管理数据库,包含三张表:图书明细表(图书编号,图书类别,图书名称,作者,出版社,出版日期,定价);读者表(借书证号,姓名,系别,办证日期);借出信息表(借出编号,借书证号,图书编号,借书日期);完成下列操作:(10分)定义一个多语句表值函数,用于查询学生借书情况,只需提供参数:借书证号,就可以通过调用函数返回此学生的借书情况,若有借书籍,则返回所借书籍的编号、书籍名称、定价和借书日期;若没有在借书籍,则返回记录为空。设函数名为:f_BorrowBook(@jszh char(20))。


正确答案:
【解题思路】SQL Server 2008多语句表值函数的格式为:CREATE FUNCTION[schema_name.]function_name([{@parameter_name[As][type_schema_name.]parameter data_type[=default]}[….n]])RETURNS@return_variable TABLE<table_type_definition>[AS]BEGINfunction_bodyRETURNEND[;]<table_type_definition>::=({<column_definition><column_constraint>I<computed_column_definition>}[table_constraint][,...n])采用三表联合查询,通过传入的借书证号查出借出信息表中的图书编号,然后查出图书明细表的信息。【参考答案】CREATE FUNCTION BorrowBook(@jszh char(20))RETURNS@jsqkb TABLE(书籍编号char(20),书籍名称char(50),定价float,借书日期datetime)ASBEGININSERT@jsqkbSELECT图书明细表.图书编号,图书名称,定价,借出信息表.借书日期FROM借出信息表,图书明细表WHERE借出信息表.图书编号=图书明细表.图书编号AND借出信息表.借书证号=@jszhRETURNEND

第7题:

根据以下资料,回答下列各题: 基于图书表、读者表和借阅表三个数据库表,它们的结构如下: 图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字; 读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借书证号 为主关键字; 借阅(借书证号,图书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书证号共同构成主关键字。 查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是( )。

A.SELECT书名,出版社FROM图书WHERE第一作者=张三

B.SELECT书名,出版社FROM图书WHERE第一作者="张三"

C.SELECT书名,出版社FROM图书WHERE"第一作者"=张三

D.SELECT书名,出版社FROM图书WHERE"第一作者"="张三"


正确答案:B
B。【解析】查询条件语句中字段名不能用引号,字段内容为C型的条件值需要用引号。

第8题:

以下2题有作者表和图书表如下: 作者 作者编号 作者姓名 所在城市 1001 王力 北京 1002 刘方 北京 1003 张剑 上海 1004 程红 上海 1005 张进 上海 图书 图书编号 书名出版 单位 价格 作者编号 0001 计算机应用 清华出版社 26.50 1001 0002 C++ 电子工业出版社 32.00 1001 0003 计算机基础知识 电子工业出版社 28.00 1002 0004 网络应用 清华出版社 24.50 1003 0005 数据库应用 清华出版社 26.00 1003 0006 数据库组成原理 清华出版社 23.00 1003 0007 Java 电子工业出版社 27.50 1004 0008 网页设计 电子工业出版社 31.00 1004

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


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

第9题:

以下题基于图书表、读者表和借阅表三个数据库表,它们的结构如下:

图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为c型字段,图书编号为主关键字;

读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借书证号为主关键字;

借阅(借书证号,国书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书编号共同构成主关键字。

查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是

A.sELECT书名,出版社FROM图书WHERE第一作者=张三

B.SELECT书名,出版社FROM图书WHERE第一作者=“张三”

C.sELECT书名,出版社FROM图书WHERE”第一作者“=张三

D.sELECT书名,出版社FROM图书WHERE”第一作者”=“张三”


正确答案:B
解析:查询的基本形式为“SELECT-FROM-WHERE查询块”,多个查询块可嵌套执行。SELECT说明要查询的数据,FROM说明要查询的数据来自哪个或哪些表,wHERE说明查询条件,即选择元组的条件。此处需要注意的是字段值的表示方式,当需要指定某个特定的字段值时,应当用双引号(“”)进行表示,而对于特定的字段,不需加双引号。

第10题:

根据下表,回答下列各题: 图书(图书编号C(6),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) 借阅(借书证号C(4),图书编号C(、6),借书日期D(8),还书日期D(8)) {TS}查询作者为“王伟”的所有书籍名称及出版社,正确的sQL语句是( )。

A. SELECT书名,出版社FROM图书WHERE作者=王伟

B. SELECT书名,出版社FROM图书WHERE作者=”王伟”

C. SELECT书名,出版社FROM图书WHERE”作者”=王伟

D. SELECT书名,出版社FROM图书WHERE”作者”=”王伟”


正确答案:B
在SELECT查询语句中字段名不需要加引号,所以c和D选项是错误的;当需要指定字段值时,如果是字符型数据应当用引号将字符型数据引起来,所以A选项也是错误的。

更多相关问题