niusouti.com

单选题有如下职员表和订单表:职员(职员号(C,3),姓名(C,6),性别(C,2),职务(C,10))订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))查询还没有签订任何订单的职员信息,不正确的SQL语句是(  )。A SELECT * FROM职员WHERE职员号 !=ALL(SELECT职员号FROM订单)B SELECT * FROM职员WHERE职员号 !=(SELECT职员号FROM订单)C SELECT * FROM职员WHERE职员号 NOT I

题目
单选题
有如下职员表和订单表:职员(职员号(C,3),姓名(C,6),性别(C,2),职务(C,10))订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))查询还没有签订任何订单的职员信息,不正确的SQL语句是(  )。
A

SELECT * FROM职员WHERE职员号 !=ALL(SELECT职员号FROM订单)

B

SELECT * FROM职员WHERE职员号 !=(SELECT职员号FROM订单)

C

SELECT * FROM职员WHERE职员号 NOT IN(SELECT职员号FROM订单)

D

SELECT * FROM职员WHERE NOT EXISTS(SELECT * FROM订单WHERE职员号=职员.职员号)


相似考题
参考答案和解析
正确答案: B
解析:
“!=”表示“不等于”;NOT IN表示“不在一组值的范围内”;EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回。本题查询没有签订任何订单的职员信息,所以以上短语均可用于查询。B项错误,语句格式不正确。
更多“有如下职员表和订单表:职员(职员号(C,3),姓名(C,6),性别(C,2),职务(C,10))订单(订单号(C,4),”相关问题
  • 第1题:

    假设 “ 订单 ” 表中有订单号、职员号、客户号和金额字段,正确的 SQL 语句只能是

    A)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG_ 金额 >200

    B)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG( 金额 )>200

    C)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 WHERE AVG( 金额 )>200

    D)SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)>3 AND AVG_ 金额 >200


    正确答案:B

  • 第2题:

    第{TSE}题使用如下3个数据库表:

    职员.dbf:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)

    客户.dbf:客户号C(4),客户名C(36),地址C(36),所在城市C(36)

    订单.dbf:订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6.2)

    {TS}查询金额最大的10%订单的信息,正确的SQL语句是( )。


    正确答案:D

  • 第3题:

    查询订单数在3个以上、订单的平均金额200元以上的职员号。正确的SQL语句是

    A.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG 金额>200

    B.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG (金额)>200

    C.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 WHERE AVG (金额)>200

    D.SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)>3 AND AVG金额>200


    正确答案:B
    解析:查询订单的平均金额 200元以上,用平均函数表示为AVG(金额)>200,故可排除选项A和选项D;订单数在三个以上和订单的平均金额200元以上两个条件要同时满足是逻辑“与”关系,故选项B正确。

  • 第4题:

    有以下SQL语句: SELECT订单号.签订日期,金额FROM订单,职员 WHERE订单.职员号=职员.职员号AND姓名=”王五” 与如上语句功能相同的SQL语句是( )。

    A. SELECT订单号,签订日期,金额FROM订单 WHERE EXISTS(SELECT*FROM职员WHERE姓名=”王五”)

    B. SELECT订单号,签订日期,金额FROM订单WHERE EXISTS(SELECT书FROM职员WHERE职员号=订单.职员号AND姓名=”王五”)

    C. SELECT订单号,签订日期,金额FROM订单 WHERE IN(SELECT职员号FROM职员WHERE姓名=”李二”)

    D. SELECT订单号,签订日期,金额FROM订单WHERE IN(SELECT职员号FROM职员WHERE职员号=订单.职员号AND姓名=”王五”)


    正确答案:B
    谓词EXISTS用来检验在子查询中是否有结果返回,本题中内层查询引用了外层查询的表,所以也是内外层互相关嵌套查询。故排除选项A、C、D的错误之处是在 WHERE和IN之间缺少“职工号”。

  • 第5题:

    有如下SQL语句:

    SELECT订单号,签订日期,金额 FROM 订单,职员:

    WHERE订单.职员号=职员.职员号AND姓名=”李二”

    与如上语句功能相同的SQL语句是( )。


    正确答案:B
    题目中给出的SELECT语句是查找出姓名为“李二”的职员签订的单号、签订日期和金额。选项B)中,使用EXISTS谓词来检查子查询中是否有结果返回,它的查询过程是:外查询中,在订单表中从第一条记录开始取出当前职员号,再在内查询中,针对该职员号,在职员表中逐条记录判断是否存在符合WHERE条件的记录,如果存在,则在外查询的订单表巾找到该职员号对应的订单号、签订日期和金额;然后依次类推,在订单表中从第二条记录中取出当前职员号,再在内查询中进行判断,直到将订单表中的所有记录都处理完毕。

  • 第6题:

    有如下职员表和订单表:职员(职员号(C,3),姓名(C,6),性别(C,2),职务(C,10))订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))查询职工〝李丽〞签订的订单消息,正确的SQL.语句是( )。

    A.SELECT订单号,客户号,签订日期,金额FROM订单WHERE姓名=〝李丽〞

    B.SELECT订单号,客户号,签订日期,金额FROM职员,订单WHERE姓名=〝李丽〞; AND职员.职员号一订单.职员号

    C.SELECT订单号,客户号,签订日期,金额FROM职员JOIN订单; WHERE职员.职员号=订单.职员号AND姓名=〝李丽〞

    D.SELECT订单号,客户号,签订日期,金额FROM职员,订单ON职员.职员号=订单.职员号AND姓名=〝李丽〞


    正确答案:C
    SQL的基本格式为SELECT-FROM-WHERE,其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件.本题查询“李丽”签订的订单信息,要查询字段包括订单号、客户号、签订日期和金额,WHERE后应该限定职员和订单表中的姓名为“李丽”,由于订单表中并没有姓名这一字段,因此用职员号字段将两表信息相连,AND表示“且”。故本题C为正确选项。

  • 第7题:

    有如下职员表:

    职员(职员9(C,3),姓名(C,6),t哇N(C,2),职务(C,10))要在该表中插入一条记录,正确的SQL语句是( )。

    A.INSERT T0职员VALUES(〝666〞,〝杨军〞,〝男〞,〝组员〞)

    B.INSERT INTO职员VALUES(〝666〞,〝杨军〞,.T.,〝组员〞)

    C.APPEND T0职员VALUES(〝666〞,〝杨军〞,.T.,〝组员〞)

    D.INSERT INTO职员VALUES(〝666〞,〝杨军〞,〝男〞,〝组员〞)


    正确答案:D
    INSERTINTO<表名>[(字段名1[,字段名2,……])]VALUES(字段值1[,字段值2,……])命令用于插入数据,首先排除A、C选项。根据题意插入记录,在性别字段只能为男或女,因此本题D选项正确。

  • 第8题:

    单选题
    有如下订单表和客户表:订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))客户(客户号(C,4),客户名(C,36),地址(C,36),所在城市(C,10),联系电话(C,8))查询有订单金额大于等于10000的客户信息的正确SQL语句是(  )。
    A

    SELECT*FROM客户WHERE客户号=;
    SELECT客户号FROM订单WHERE金额>=10000)

    B

    SELECT*FROM客户WHERE客户号=;
    ALL(SELECT客户号FROM订单WHERE金额>=10000)

    C

    SELECT*FROM客户WHERE客户号=;
    ANY(SELECT客户号FROM订单WHERE金额>=10000)

    D

    SELECT*FROM客户WHERE客户号=;
    WHERE(SELECT客户号FROM订单WHERE金额>=10000)


    正确答案: A
    解析:
    C项正确,使用“ANY”时只要子查询中有一行能使结果为真,若客户有多个定单,那么当有一个订单的金额大于等于10000时,该客户号就能被查询出来;A项错误,内层查询结果为多值,“=”运算符只能与一个具体的值进行比较;B项错误,题中不会所有的客户的订单金额都大于等于10000,“ALL”当子查询中的所有行都使结果为真时结果才为真;D项错误,外层查询中使用两个WHERE,属于格式错误。

  • 第9题:

    单选题
    有如下职员数据库表:职员(职员号(C,3),姓名(C,6),性别(C,2),职务(C,10))为职员表的“职员号”字段设置有效性规则“第1位必须是字母E”,正确的SQL语句是(  )。
    A

    ALTER TABLE职员ALTER职员号CHECK LEFT(职员号,1)=‘E’

    B

    ALTER TABLE职员ADD职员号CHECK LEFT(职员号,1)=‘E’

    C

    ALTER TABLE职员ALTER职员号SET CHECK LEFT(职员号,1)=‘E’

    D

    ALTER TABLE职员ALTER职员号ADD CHECK LEFT(职员号,1)=‘E’


    正确答案: C
    解析:
    ALTER语法格式为:ALTER TABLE<表名>ALTER[COLUMN]<字段名1>[NULL│NOT NULL][SET DEFAULT<默认值表达式>][SET CHECK<逻辑表达式>[ERROR<字符型文本提示信息>]][RENAME COLUMN<字段名2>TO<字段名3>],用于修改表结构。本题中LEFT(职员号,1)=′E′用于选取职员号的第1位是字母E的数据。

  • 第10题:

    单选题
    有订单表如下:订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))查询所有的订单,要求各订单按其签订时间的先后次序降序排序,正确的SQL语句是(  )。
    A

    SELECT * FROM订单ORDER BY签订日期

    B

    SELECT * FROM订单ORDER BY签订日期DESC

    C

    SELECT * FROM订单GROUP BY签订日期

    D

    SELECT * FROM订单GROUP BY签订日期DESC


    正确答案: B
    解析:
    ORDER BY短语可将查询结果按升序(ASC)或降序(DESC)排列,默认按升序排列。本题要求降序排序,所以应当使用“DESC”。GROUP BY子句用于分组查询;HAVING短语用于限定分组的条件;WHERE说明查询条件;

  • 第11题:

    单选题
    有订单表如下:订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))查询金额最高的订单的订单号(可能有多个),不正确的SQL语句是(  )。
    A

    SELECT订单号FROM订单WHERE金额>=ALL(SELECT金额FROM订单)

    B

    SELECT订单号FROM订单WHERE金额=(SELECT MAX(金额)FROM订单)

    C

    SELECT订单号FROM订单WHERE金额=MAX(金额)

    D

    SELECT订单号FROM订单WHERE金额>=(SELECT MAX(金额)FROM订单)


    正确答案: C
    解析:
    ALL()表示子查询中的所有的行都符合条件结果成立。MAX(最大值)计算指定列的最大值。C项错误,需要使用子查询(SELECT MAX(金额)FROM订单)来得到金额的最大值。

  • 第12题:

    单选题
    有订单表如下:订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))查询每个客户的总金额信息的正确SQL语句是(  )。
    A

    SELECT订单号,SUM(金额)FROM订单GROUP BY客户号

    B

    SELECT订单号,SUM(金额)FROM订单ORDER BY客户号

    C

    SELECT客户号,SUM(金额)FROM订单GROUP BY客户号

    D

    SELECT客户号,SUM(金额)FROM订单ORDER BY客户号


    正确答案: C
    解析:
    本题中由于要求查询每个客户的总金额,应当以客户号,SUM(金额)为查询的来源。GROUP BY短语用于对查询结果进行分组,可以利用它进行分组汇总;ORDER BY短语用来对查询的结果进行排序。

  • 第13题:

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

    [说明]

    某企业网上销售管理系统的数据库部分关系模式如下所示:

    客户(客户号,姓名,性别,地址,邮编)

    产品(产品号,名称,库存,单价)

    订单(订单号,时间,金额,客户号)

    订单明细(订单号,产品号,数量)

    关系模式的主要属性及约束如下表所示。

    以下是创建部分关系表的SQL语句,请将空缺部分补充完整。

    CREATE TABLE客户(

    客户号 CHAR(5) (a),

    姓名 CHAR(30),

    性别 CHAR(2) (b),

    地址 CHAR(30),

    邮编 CHAR(6));

    CREATE TABLE 订单(

    订单号CHAR(4),

    时间 CHAR(10),

    金额 NUMBER(6,2),

    客户号CHAR(5)NOTNULL,

    PRIMARY KEY(订单号),

    (c);


    正确答案:(a)NOT NULL UNIQUE或NOT NULL PRIMARY KEY 或 PRIMARY KEY (b)CHECK (VALUE IN('男''女')) (c)FOREIGN KEY (客户号) REFERENCES 客户(客户号)
    (a)NOT NULL UNIQUE或NOT NULL PRIMARY KEY 或 PRIMARY KEY (b)CHECK (VALUE IN('男','女')) (c)FOREIGN KEY (客户号) REFERENCES 客户(客户号) 解析:本题考查的是SQL语言中的创建基本表命令。
    SQL中使用CREATE TABLE命令来定义基本表,其一般格式为:
    CREATE TABLE表名>(列名>数据类型>[列级完整性约束条件]
    [,列名>数据类型>[列级完整性约束条件]]...
    [,表级完整性约束条件>]);
    本题着重考查完整性约束的定义。
    . 实体完整性定义。声明主键有两种方法:将PRIMARYKEY保留字加在属性类型之后;在属性列表中引入一个新元素,该元素包含保留字PRIMARY KEY和用圆括号括起的构成主键的属性或者属性组列表。
    . 参照完整性定义。FOREIGNKEY(属性名)REFERFENCES表名(属性名)。参照完整性通过保留字FOREIGNKEY定义哪些列为外码,REFERFENCES指明外码所对应的被参照表的主码。
    . 用户定义完整性定义。用CHECK后增加一条检查子句来完成属性值上的约束。
    根据题目描述,客户号唯一标识一位客户,客户性别取值为“男”或者“女”,一份订单必须且仅对应一位客户。所以,客户号是客户表的主键,客户性别的取值只能为“男”或者“女”,订单中的客户号必须外键依赖于客户。
    因此,客户号应表示为主键:
    (a)NOT NULL UNIQUE或NOT NULL PRIMARY KEY或PRIMARY KEY;
    客户性别的取值只能为“男”或者“女”:
    (b)CHECK (VALUE IN('男','女'))
    订单中的客户号必须外键依赖于客户:
    (c)FOREIGN KEY(客户号)REFERENCES客户(客户号)

  • 第14题:

    建立一个“职员”表,表中有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建立的表符合题目要求。

  • 第15题:

    根据下表,回答下列各题: 职员.DBF:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10) 客户.DBF:客户号C(4),客户名C(36),地址C(36),所在城市C(36) 订单.DBF:订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6.2) {TS}从订单表中查询金额大于10000元的订单号,正确的命令是( )。

    A. SELECT金额>10000 FROM订单FOR订单号

    B. SELECT订单号FROM订单FOR金额>10000

    C. SELECT金额>10000 FROM订单WHERE订单号

    D. SELECT订单号FROM订单WHERE金额>10000


    正确答案:D
    简单查询基于单个表,查询由SELECT和FROM短语(无条件查询)或SELECT、FROM和WHERE短语(条件查询)构成。其基本格式为:SELECT select—item FROM Database Name WHERE Filter Cndition。

  • 第16题:

    第 2~6 题使用如下3个数据库表:{Page}

    职员.dbf: 职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)

    客户.dbf:客户号C(4),客户名C(36),地址C(36),所在城市C(36)

    订单.dbf: 订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6.2)

    第 2 题 查询金额最大的10%订单的信息,正确的SQL语句是( )。


    正确答案:D
    本题要查询金额最大的l0%订单的信息,应该是按金额从高到低降序排列,另外只需要满足条件的前若干记录,应使用TOP短语,再使用PERCENT短语,显示结果中前百分之几的记录。

  • 第17题:

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

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

    B.CREATE TABLE职员(职员号C1LAR(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),部门CHARR(12))


    正确答案:C

  • 第18题:

    有订单表如下:

    订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D.,金额(N,6,2))

    查询所有金额大于等于平均金额的订单的订单号,正确的SQL语句是( )。

    A.SELECT订单号FROM订单WHERE金额>=(SELECT AVG(金额)FROM订单)

    B.SELECT订单号FROM订单WHERE金额=(SELECT AVG(金额)FROM订单)

    C.SELECT订单号FROM订单WHERE金额>=ALL(SELECT AVG(金额)FROM订单)

    D.SELECT订单号FROM订单WHERE金额=ALL(SELECT AVG(金额)FROM订单)


    正确答案:A
    本题考查嵌套查询,首先被括号括起来的为内层查询,先进行内层查询,查询出订单表中的平均金额。然后再进行外层查询,筛选出金额大于等于平均金额的订单号。由于内层查询中使用了AVG(求平均数),因此不能使用ALL进行限定,故A选项正确。

  • 第19题:

    博学公司网上销售管理系统的数据库部分关系模式如下所示。其中,客户号唯一标识一位客户,产品号唯一标识一件产品,订单号唯一标识一份订单。一份订单必须且仅对应一位客户,一份订单可由一到多条订单明细组成,一位客户可以有多份订单。客户(客户号,姓名,性别,地址,邮编)产品(产品号,名称,库存,单价)订单(订单号,时间,金额,客户号)订单明细(订单号,产品号,数量)订单关系模式的主键为(1);订单明细关系模式的主键为(2);其中订单的外键为(3)。 空白(2)处应选择()

    • A、订单号
    • B、产品号
    • C、(订单号,产品号)
    • D、(订单号,数量)

    正确答案:C

  • 第20题:

    单选题
    假设“订单”表中有订单号、职员号、客户号和金额字段,正确的SQL语句只能是(  )。
    A

    SELECT职员号FROM订单
    GROUP BY职员号HAVING COUNT(*)>3 AND AVG_金额>200

    B

    SELECT职员号FROM订单
    GROUP BY职员号HAVING COUNT(*)>3 AND AVG(金额)>200

    C

    SELECT职员号FROM订单
    GROUP BY职员号HAVING COUNT(*)>3 WHERE AVG(金额)>200

    D

    SELECT职员号FROM订单
    GROUP BY职员号WHERE COUNT(*)>3 AND AVG_金额>200


    正确答案: B
    解析:
    分组查询的语句是GROUP BY GroupColumn HAVING FiherCondition。该子句一般跟在WHERE后面。同时,AVG是求平均值的函数,用法为AVG(Column)。

  • 第21题:

    单选题
    有如下订单表:订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))要在该表中插入一条记录,正确的SQL语句是(  )。
    A

    INSERT TO订单VALUES(“OR01”,“C001”,“E01”,DATE(),1000)

    B

    INSERT INTO订单VALUES(“OR01”,“C001”,“E01”,DATE(),1000)

    C

    APPEND TO订单VALUES(“OR01”,“C001”,“E01”,DATE(),1000)

    D

    APPEND INTO订单VALUES(“OR01”,“C001”,“E01”,DATE(),1000)


    正确答案: A
    解析:
    插入一条记录的语句格式为:INSERT INTO<表名>[(字段名1[,字段名2,……])]VALUES(字段值1[,字段值2,……])。APPEND命令是在表的尾部增加记录,但不可以用APPEND INTO和APPEND TO。

  • 第22题:

    单选题
    有如下订单表和客户表:订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))客户(客户号(C,4),客户名(C,36),地址(C,36),所在城市(C,10),联系电话(C,8))查询签订了订单号为“0036”的订单的客户信息,不正确的SQL语句是(  )。
    A

    SELECT客户.客户号,客户名FROM客户,订单WHERE客户.客户号=订单.客户号AND订单号=”0036”

    B

    SELECT客户.客户号,客户名FROM客户,订单ON客户.客户号=订单.客户号AND订单号=”0036”

    C

    SELECT客户.客户号,客户名FROM客户JOIN订单ON客户.客户号=订单.客户号AND订单号=”0036”

    D

    SELECT客户.客户号,客户名FROM客户JOIN订单ON客户.客户号=订单.客户号WHERE订单号=”0036”


    正确答案: C
    解析:
    多表连接查询格式为:SELECT…FROM<数据库表1>INNER|LEFT|RIGHT|FULL JOIN<数据库表2>ON连接条件WHERE其它条件。

  • 第23题:

    单选题
    有订单表如下:订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))查询所有金额大于等于平均金额的订单的订单号,正确的SQL语句是(  )。
    A

    SELECT订单号FROM订单WHERE金额>=(SELECT AVG(金额)FROM订单)

    B

    SELECT订单号FROM订单WHERE金额=(SELECT AVG(金额)FROM订单)

    C

    SELECT订单号FROM订单WHERE金额>=ALL(SELECT AVG(金额)FROM订单)

    D

    SELECT订单号FROM订单WHERE金额=ALL(SELECT AVG(金额)FROM订单)


    正确答案: C
    解析:
    查询嵌套首先进行内层查询,其次是外层查询,即先查询出订单表中的平均金额,然后筛选出金额大于等于平均金额的订单号。CD两项错误,因为内层查询使用AVG不能使用ALL进行限定。

  • 第24题:

    单选题
    有如下职员表和订单表:职员(职员号(C,3),姓名(C,6),性别(C,2),职务(C,10))订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))查询还没有签订任何订单的职员信息,不正确的SQL语句是(  )。
    A

    SELECT * FROM职员WHERE职员号 !=ALL(SELECT职员号FROM订单)

    B

    SELECT * FROM职员WHERE职员号 !=(SELECT职员号FROM订单)

    C

    SELECT * FROM职员WHERE职员号 NOT IN(SELECT职员号FROM订单)

    D

    SELECT * FROM职员WHERE NOT EXISTS(SELECT * FROM订单WHERE职员号=职员.职员号)


    正确答案: B
    解析:
    “!=”表示“不等于”;NOT IN表示“不在一组值的范围内”;EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回。本题查询没有签订任何订单的职员信息,所以以上短语均可用于查询。B项错误,语句格式不正确。