itgle.com

有以下SQL语句:SELECT 订单号,签订日期,金额 FROM 订单,职员WHERE 订单.职员号=职员.职员号 AND 姓名=“李二”与如上语句功能相同的SQL语句是A) SELECT订单号,签订日期,金额FROM订单WHERE EXISTS(SELECT*FROM职员WHERE姓名=“李二”)B) SELECT订单号,签订日期,金额FROM订单WHEREEXISTS(SELECT*FROM职员WHERE职员号=订单.职员号AND姓名=“李二”:C) SELECT订单号,签订日期,金额FROM订单WH

题目

有以下SQL语句:SELECT 订单号,签订日期,金额 FROM 订单,职员WHERE 订单.职员号=职员.职员号 AND 姓名=“李二”与如上语句功能相同的SQL语句是A) SELECT订单号,签订日期,金额FROM订单WHERE EXISTS(SELECT*FROM职员WHERE姓名=“李二”)B) SELECT订单号,签订日期,金额FROM订单WHEREEXISTS(SELECT*FROM职员WHERE职员号=订单.职员号AND姓名=“李二”:C) SELECT订单号,签订日期,金额FROM订单WHERE IN(SELECT职员号FROM职员WHERE姓名=“李二”)D) SELECT订单号,签订日期,金额FROM订单WHEREIN(SELECT职员号FROM职员WHERE职员号=订单.职员号AND姓名=“李二”)


相似考题
更多“有以下SQL语句:SELECT 订单号,签订日期,金额 FROM 订单,职员WHERE 订单.职员号=职员.职员号 ”相关问题
  • 第1题:

    有如下SQL语句:

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

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

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


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

  • 第2题:

    有以下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 订单号,签订日期,金额 FRM 订单 WHERE IM (SELECT 职员号 FROM 职员 WHERE 姓名="李二")

    D.SELECT 订单号,签订日期,金额 ROM 订单 WHERE IN(SELECT 职员号FROM 职员 WHERE 职员号=订单.职员号 AND 姓名="李二")


    正确答案:B
    解析:题干中的 SQL 语句的功能是:查询那些姓名为“李二”的职员的订单号,签订日期和金额的信息。4个选项中只有选项B中的查询条件与此等价。

  • 第3题:

    有订单表如下:

    订单(订单号(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选项正确。

  • 第4题:

    显示没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是( )。

    A.SELECT 职员.职员号,姓名 FROM 职员 JOIN 订单 ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0

    B.SELECT 职员.职员号,姓名 FROM 职员 LEFT JOIN 订单 ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0

    C.SELECT 职员号,姓名 FROM 职员 WHERE 职员号 NOT IN(SELECT 职员号 FROM 订单)

    D.SELECT 职员.职员号,姓名 FROM 职员 WHERE 职员.职员号<>(SELECT订单.职员号FROM订单)


    正确答案:C
    解析:显示没有签订任何订单的职员信息等价于显示订单表中不存在的职员信息。只有选项C符合查询条件。

  • 第5题:

    有如下职员表和订单表:职员(职员号(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为正确选项。