单选题设有订单表order(其中包含字段:订单号,客户号,职员号,签订日期,金额),查询2007年所签订单的信息,并按金额降序排序,正确的SQL命令是(  )。A SELECT * FROM order WHERE YEAR(签订日期)=2007 ORDER BY金额DESCB SELECT * FROM order WHILE YEAR(签订日期)=2007 ORDER BY金额ASCC SELECT * FROM order WHERE YEAR(签订日期)=2007 ORDER BY金额ASCD S

题目
单选题
设有订单表order(其中包含字段:订单号,客户号,职员号,签订日期,金额),查询2007年所签订单的信息,并按金额降序排序,正确的SQL命令是(  )。
A

SELECT * FROM order WHERE YEAR(签订日期)=2007 ORDER BY金额DESC

B

SELECT * FROM order WHILE YEAR(签订日期)=2007 ORDER BY金额ASC

C

SELECT * FROM order WHERE YEAR(签订日期)=2007 ORDER BY金额ASC

D

SELECT * FROM order WHILE YEAR(签订日期)=2007 ORDER BY金额DESC


相似考题
更多“单选题设有订单表order(其中包含字段:订单号,客户号,职员号,签订日期,金额),查询2007年所签订单的信息,并按金额降序排序,正确的SQL命令是(  )。A SELECT * FROM order WHERE YEAR(签订日期)=2007 ORDER BY金额DESCB SELECT * FROM order WHILE YEAR(签订日期)=2007 ORDER BY金额ASCC SELECT * FROM order WHERE YEAR(签订日期)=2007 ORDER BY金额ASCD S”相关问题
  • 第1题:

    设有订单表order(其中包含字段:订单号,客户号,职员号,签订日期,金额),删除2002年1月1日以前签订的订单记录,正确的SQL命令是( )。

    A.DELETE TABLE order WHERE签订日期<{^2002-1-1}

    B.DELETE TABLE order WHILE签订日期<{^2002-1-1}

    C.DELETE FROM order WHERE签订日期<{^2002-1-1}

    D.DELETE FROM order WHILE签订日期<{^2002-1-1}


    正确答案:C
    解析:在SQL语句中对表中的记录进行删除的基本格式为: DELETE FROM表名>WHERE条件>。

  • 第2题:

    设有订单表0rder(其中包含字段:订单号,客户号. 职员号,签订日期,金额),删除2002年1月1日以前签订的 订单记录,正确的SQL命令是( )^

    A.DELETE TABLE order WHERE签订日期<{^2002-1-1}

    B.DELETE TABLE order WHILE签订日期<{^2002-1-1}

    C.DELETE FROM order WHERE签订日期<{^2002-1.1}

    D.DELETE FROM order WHILE签订日期<{^2002一1—1}


    正确答案:C
    C。【解析】在SQL语句中对表中记录进行删除的基本操作是:DELETEFROM<表名>WHERE<条件>。

  • 第3题:

    设有订单表order(其中包含字段:订单号,客户号,职员号,签订日期,金额),查询 2007年所签订单的信息,并按金额降序排序,正确的SQL命令是( )。

    A.SELECT*FROM order WHERE YEAR(签订日期)=2007 0RDER BY金额DESC

    B.SELECT*FROM order WHILE YEAR(签订日期)=2007 0RDER BY金额ASC

    C.SELECT*FROM order WHERE YEAR(签订日期)=2007 0RDER BY金额ASC

    D.SELECT*FROM order WHILE YEAR(签订日期)=2007 0RDER BY金额DESC


    正确答案:A
    A。【解析】在SQL语句中用WHERE表示条件,按金额的降序进行排序用DESC。

  • 第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语句是( )。

    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中的查询条件与此等价。

  • 第6题:

    有订单表如下:

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

  • 第7题:

    设有职工表(其中包含字段:职工号,仓库号,工资),查询仓库号是“CK1”的职工信息,并按工资降序排序,正确的SQL命令是( )。

    A)SELECT﹡FROM职工表WHERE仓库号=”CK1”ORDER BY工资DESC

    B)SELECT﹡FROM职工表WHILE仓库号=”CK1”ORDER BY工资ASC

    C)SELECT﹡FROM职工表WHERE仓库号=”CK1”ORDER BY工资ASC

    D)SELECT﹡FROM职工表WHERE仓库号=”CK1”GROUP BY工资DESC


    正确答案:A
    在用SQL语句进行查询时,对结果字段排序应使用ORDER BY短语,降序排序使用DESC子句

  • 第8题:

    设有订单表 order ( 其中包含字段 : 订单号 , 客户号 , 职员号 , 签订日期 , 金额 ) , 删除 2002 年 1 月 1 日以前签订的订单记录,正确的 SQL 命令是

    A) DELETE TABLE order WHERE 签订日期 <{^2002-1-1}

    B) DELETE TABLE order WHILE 签订日期 >{^2002-1-1}

    C) DELETE FROM order WHERE 签订日期 <{^2002-1-1}

    D) DELETE FROM order WHILE 签订日期 >{^2002-1-1}


    正确答案:C

  • 第9题:

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

    • A、SELECT * TOP 10 PERCENT FROM 订单
    • B、SELECT TOP 10% * FROM 订单 ORDER BY 金额
    • C、SELEC T* TOP 10 PERCENT FROM 订单 ORDER BY 金额
    • D、SELECT TOP 10 PERCENT * FROM 订单 ORDER BY 金额 DESC

    正确答案:D

  • 第10题:

    单选题
    有订单表如下:订单(订单号(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订单)


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

  • 第11题:

    单选题
    有订单表如下:订单(订单号(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进行限定。

  • 第12题:

    单选题
    设有订单表order(其中包括字段:订单号,客户号,职员号,签订日期,金额),查询2007年所签订单的信息,并按金额降序排序,正确的SQL命令是()
    A

    SELECT*FROMorderWHEREYEAR(签订日期)=2007ORDERBY金额DESC

    B

    SELECT*FROMorderWHILEYEAR(签订日期)=2007ORDERBY金额ASC

    C

    SELECT*FROMorderWHEREYEAR(签订日期)=2007ORDERBY金额ASC

    D

    SELECT*FROMorderWHILEYEAR(签订日期)=2007ORDERBY金额DESC


    正确答案: A
    解析: 暂无解析

  • 第13题:

    设有订单表order(其中包括字段:订单号,客户号,客户号,职员号,签订日期,金额),删除2002年1月1日以前签订的订单记录,正确的SQL命令是:()

    A、DELETETABLEorderWHERE签订日期<{^2002-1-1}

    B、DELETETABLEorderWHILE签订日期>{^2002-1-1}

    C、DELETEFROMorderWHERE签订日期<{^2002-1-1}

    D、DELETEFROMorderWHILE签订日期>{^2002-1-1}


    参考答案:C

  • 第14题:

    查询金额最大的那10%订单的信息。正确的SQL语句是

    A.SELECT*TOP l0 PERCENT FROM订单

    B.SELECT TOP l0%*FROM 订单 ORDER BY金额

    C.SELECT*TOP l0 PERCENT FROM 订单 ORDER BY 金额

    D.SELECT TOP l0 PERCENT*FROM 订单 ORDER BY 金额 DESC


    正确答案:D
    解析:查询金额最大的10%的订单,应该是按金额从高向低降序排列,显示前面10%,只有选项D的描述是完整的。

  • 第15题:

    设有表:0rder(订单号,客户号,职员号,签订日期,金额)。查询2007年所签订单的信息,并按金额降序排序,正确的SQL命令是( )。

    A. SELECT*FROM order WHERE YEAR(签订日期)=2007 0RDER BY金额DESC

    B. SELECT*FROM order WHILE YEAR(签订日期)=2007 0RDER BY金额ASC

    C. SELECT*FROM order WHERE YEAR(签订日期)=2007 0RDER BY金额ASC

    D. SELECT*FROM order WHILE YEAR(签订日期)=2007 0RDER BY金额DESC


    正确答案:A
    在SELECT查询语句中,用WHERE说明查询条件,而不是用WHILE。用DESC表示降序,用ASC表示升序。

  • 第16题:

    查询2001年所签订单的信息,并按金额降序排序,正确的SQL命令是( )。

    A. SELECT*FROM订单WHERE YEAR(签订日期)=2001 0RDER BY金额DESC

    B. SELECT*FROM订单WHILE YEAR(签订日期)=2001 0RDER BY金额ASC

    C. SELECT*FROM订单WHERE YEAR(签订日期)=2001 0RDER BY金额ASC

    D. SELECT*FROM订单WHILE YEAR(签订日期)=20010RDER BY金额DESC


    正确答案:A
    SELECT给出要查询的数据;FROM说明要查询的数据来自哪个表或哪些表,可以对单个表或多个表进行查询;WHERE说明查询条件,即选择元组的条件;GROUP BY短语用于对查询结果进行分组,可以利用它进行分组汇总;HAVING短语必须跟随GROUP BY使用,用来限定分组必须满足的条件;ORDER BY短语用来对查询的结果进行排序,可以按升序ASC或降序DESC进行排序。

  • 第17题:

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

  • 第18题:

    有如下订单表:

    订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D.,金额(N,6,2))统计2012年各月份签订的订单的总金额,正确的SQL语句是( )。

    A.SELECT MONTH(签订日期)月份,SUM(金额)总金额FROM订单GROUP BY月份WHHRE YEAR(签订日期)=2012

    B.SELECT MONTH(签订日期)月份,SUM(金额)总金额FROM订单GROUP BY月份HAVING YEAR(签订日期)=2012

    C.SELECT签订日期.MONTH( )月份,SUM(金额)总金额FROM订单GROUP:BY月份WHERE 签订日期.YEAR( )=2012

    D.SELECT签订日期.MONTH( )月份,SUM(金额)总金额FROM订单GROUP BY月份HAⅥNG 签订日期.YEAR( )=2012


    正确答案:B
    本题考查分组与计算查询,SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件,GROUPBY…HAVING用于按照签订日期进行分组。限定时间的语句应该为。YEAR(签订日期)-2012”,首先排除C、D选项。由于给GRoUPBY子句加条件必须使用HAVING,而不可以使用WHERE.因此可见本题B选项正确。

  • 第19题:

    ( 20 ) 设有订单表 order ( 其中包含字段 : 订单号 , 客户号 , 职员号 , 签订日期 , 金额 ) , 查询 2007 年所签订单的信息,并按金额降序排序,正确的 SQL 命令是

    A) SELECT * FROM order WHERE YEAR( 签订日期 )=2007 ORDER BY 金额 DESC

    B) SELECT * FROM order WHILE YEAR( 签订日期 )=2007 ORDER BY 金额 ASC

    C) SELECT * FROM order WHERE YEAR( 签订日期 )=2007 ORDER BY 金额 ASC

    D) SELECT * FROM order WHILE YEAR( 签订日期 )=2007 ORDER BY 金额 DESC


    正确答案:A

  • 第20题:

    设有订单表order(其中包括字段:订单号,客户号,职员号,签订日期,金额),查询2007年所签订单的信息,并按金额降序排序,正确的SQL命令是()

    • A、SELECT*FROMorderWHEREYEAR(签订日期)=2007ORDERBY金额DESC
    • B、SELECT*FROMorderWHILEYEAR(签订日期)=2007ORDERBY金额ASC
    • C、SELECT*FROMorderWHEREYEAR(签订日期)=2007ORDERBY金额ASC
    • D、SELECT*FROMorderWHILEYEAR(签订日期)=2007ORDERBY金额DESC

    正确答案:A

  • 第21题:

    单选题
    根据客户表和订单表查询2011年没有签订任何订单的客户信息,错误的SQL语句是(  )。
    A


    SELECT*FROM客户WHERE客户号NOT IN
    SELECT客户号FROM订单WHERE YEAR(签订日期)=2011)

    B


    SELECT*FROM客户WHERE NOT EXIST
    SELECT*FROM订单WHERE客户号=客户.客户号AND YEAR(签订日期)=2011)

    C


    SELECT*FROM客户WHERE客户号!=ANY
    SELECT客户号FROM订单WHERE YEAR(签订日期)=2011)

    D


    SELECT*FROM客户WHERE客户号!=ALL
    SELECT客户号FROM订单WHERE YEAR(签订日期)=2011)


    正确答案: B
    解析:
    “SELECT客户号FROM订单WHERE YEAR(签订日期)=2011”子查询用于查询2011年签订过订单的客户号。客户号不在于查询结果范围的客户信息要输出。IN和NOT IN分别表示在、不在指定范围内。ANY、ALL也是与查询有关的量词,对于ANY,在进行比较时,只要子查询有一行能使结果为真,则结果为真,加上否定后,!=ANY表示不等于任何一个;而ALL则要求子查询的所有行都是结果为真时,结果才为真,ALL一般不和等于(不等于)连用。

  • 第22题:

    单选题
    有订单表如下:订单(订单号(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说明查询条件;

  • 第23题:

    单选题
    有订单表如下:订单(订单号(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短语用来对查询的结果进行排序。