单选题设有订单表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年所签订单的信息,并按金额降序”相关问题
  • 第1题:

    使用如下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)查询金额最大的那10%订单的信息。正确的SQL语句是______。

    A.SELECT*TOP 10 PERCENT FROM 订单

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

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

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


    正确答案:D
    解析:Visual FoxPro的SELECT—SQL命令的一般语法格式如下:
        SELECT[ALL|DISTINCT]目标列表达式>[,目标列表达式>]…
        FROM基本表(或视图>[,基本表(或视图)>]…
        [WHERE条件表达式>]
        [GROUPBY列名1>[HAVING内部函数表达式>]]
        [ORDERBY列名2>[ASCIDESC]]
        [TOP数值表达式>[PERCENT]]
      说明:①ORDER BY子句:指定查询结果中记录按列名2>排序,默认升序。选项ASC表示升序,DESC表示降序。
      ②TOP子句:TOP子句必须与ORDER BY子句同时使用。数值表达式>表示在符合条件的记录中选取的记录数。范围1~32 767,排序后的若干记录只计一个。含PERCENT选项肘,数值表达式>表示百分比,记录数为小数时自动取整,范围0.01~99.99。

  • 第2题:

    设有订单表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条件>。

  • 第3题:

    设有订单表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

  • 第4题:

    设有“订货”表(订单号,客户号,金额,订购日期),使用SQL语句检索每个客户订货的“总金额”(注意要生成该字段名).

    SELECT客户号,_____FROM订货GROUP BY客户号


    正确答案:
    SUM(金额)AS总金额(或sum(金额)总金额)  检索每个客户订货的总金额时,须按“客户号”进行分组计算。再在每一组中进行计算,这里应该用SUM()函数求总和,用AS短语指定新的字段名,该短语也可以省略。

  • 第5题:

    设有订单表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。

  • 第6题:

    根据下表,回答下列各题: 职员.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。

  • 第7题:

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

  • 第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题:

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

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

    B

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

    C

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

    D

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


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

  • 第10题:

    单选题
    有如下订单表和客户表:订单(订单号(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其它条件。

  • 第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题:

    设有订单表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
    解析:在SQL语句中用WHERE表示条件,而又需要按金额的降序进行排序所以用“金额DESC”表示。

  • 第14题:

    假设 “ 订单 ” 表中有订单号、职员号、客户号和金额字段,正确的 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

  • 第15题:

    设有订单表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<条件>。

  • 第16题:

    查询2010年1月1日后签订的订单,并显示订单的订单号、客户名及签订日期,正确的SQL语句是( )。

    A.SELECT订单号,客户名,签订日期FROM订单JOIN客户0N订单.客户号=客户.客户号WHERE 签订日期>{^2010—1—1}

    B.SELECT订单号,客户名,签订日期FROM订单JOIN客户WHERE订单.客户号=客户.客户号AND 签订日期>{^2010—1—1}

    C.SELECT订单号,客户名,签订日期FROM订单,客户WHERE订单.客户号=客户.客户号AND签订日期<{^2010—1—1}

    D.SELECT订单号,客户名,签订日期FROM订单,客户ON订单.客户号=客户.客户号AND签订日期<{^2010—1—1}


    正确答案:A
    查询2010年1月1日后的订单,应表示为签订日期>{^2010—1—1},JOIN子句为普通连接(内部连接),应使用0N子句指定连接条件,WHERE子句在最后限定元组。

  • 第17题:

    设有表: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表示升序。

  • 第18题:

    有以下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之间缺少“职工号”。

  • 第19题:

    有订单表如下:

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

  • 第20题:

    单选题
    有如下订单表和客户表:订单(订单号(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,属于格式错误。

  • 第21题:

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

  • 第22题:

    单选题
    设有订单表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


    正确答案: C
    解析:
    SELECT给出要查询的数据;FROM说明要查询的数据来自哪个或哪些表,可以对单个表或多个表进行查询;WHERE说明查询条件,即选择元组的条件;ORDER BY短语用来对查询的结果进行排序,可以按升序ASC或降序DESC进行排序。WHILE是程序中循环体中常见的命令,不用于表的查询。

  • 第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项错误,语句格式不正确。