参考答案和解析
正确答案:C
更多“下列正确的SQL语句是()。A、SELECT*HAVING userB、SELECT*WHERE userC、SELECT*FROM userD、SELECT user INTO*”相关问题
  • 第1题:

    对由SELECT—FROM—WHERE—GROUP—ORDER组成的SQL语句,其在被DBMS处理时,各子句的执序次序(43)。

    A.SELECT—FROM—GROUP—WHERE—ORDER

    B.FROM—SELECT—WHERE—GROUP—ORDER

    C.FROM—WHERE—GROUP—SELECT—ORDER

    D.SELECT—FROM—WHERE—GROUP—ORDER


    正确答案:C
    解析:SELECT[ALL|DISTNCT]目标列表达式>[目标列表达式>]…FROM表名或视图名>[表名或视图名>]...[WHERE条件表达式>][GROUPBY列名1>[HAVING条件表达式>]][ORDERBY列名2>[ASC|DESC]];整个SBLECT语句的含义是:根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECTT子句中的目标列表达式,选出元组中的属性值形成结果表,如果有GROUP子句,则将结果按列名1>的值进行分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。如果GROUP子句带HAVING短语,则只有满足指定条件的组才予抽出;如果有ORDER子句,则结果表还要按列名2>的值的升序或降序排序。

  • 第2题:

    根据SQL标准,要查询表student中所有年龄age小于所有学生的平均年龄的记录,下面哪条语句适用?()

    A select * from student where age< avg(age)

    B select * from student having age< avg(age)

    C select * from student a where a.age< (select avg(b.age) from student b)

    D select * from student a where (select avg(b.age) from student b ) >= a.age


    参考答案C

  • 第3题:

    有SQL语句:SELECT * FROM 教师 WHERE NOT(工资>3000 OR 工资<2000)与如下语句等价的SQL语句是A)SELECT*FROM 教师 WHERE 工资 BETWEEN 2000 AND 3000B) SELECT*FROM 教师 WHERE 工资>2000 AND 工资<3000C)SELECT*FROM 教师 WHERE 工资>2000 OR 工资<3000D) SELECT*FROM 教师 WHERE 工资<=2000 AND 工资>3000


    正确答案:A
    BETWEEN…AND…是SQL中比较特殊的函数,经常与SQL联合使用用来设定查询条件,这个函数所设定的查询条件是值在某个范围内,并且包含边界取值,题目中WHERER所设定的条件是NOT(工资>3000 AND工资<2000),其含义不是在小于2000或大于3000的范围内,这恰好是在2000到3000之间,选项A使用BETWEEN ... AND...设定查询条件,与此条件实现的功能一致。故选项A为正确答案。选项B表示工资大于2000并且小于3000,选项C表示工资大于2000或者工资小于3000,选项D表示工资小于等于2000并且大于等于3000。

  • 第4题:

    “学生”表中学生号为主索引,若用SQL命令检索所有比“孙静”年龄大的同学,下列语句正确的是( )。

    A. SELECT*FROM学生; WHERE 年龄>(SELECT 年龄 FROM学生; WHERE 姓名=“孙静”)

    B.SELECT*FROM学生; WHERE 姓名=“孙静”

    C. SELECT*FROM 学生: WHERE 年龄>(SELECT 年龄; WHERE 姓名=“孙静”)

    D.SELECT*FROM 学生: WHERE 年龄>“孙静”


    正确答案:A
    解析:本题是一个嵌套循环查询的语句,内层循环是检索出“孙静”的年龄,外层循环用WHERE语句检索出比“孙静”年龄大的同学,外层循环结果依赖于内层查询。

  • 第5题:

    有SQL语句 SELECT * FROM 教师 WHERE NOT(工资>30000R工资<2000) 与如上语句等价的SQL语句是

    A.SELECT * FROM 教师 WHERE 工资 BETWEEN 2000 AND 3000

    B.SELECT * FROM 教师 WHERE 工资>2000 AND工资<3000

    C.SELECT * FROM 教师 WHERE 工资>2000 OR工资<3000

    D.SELECT * FROM 教师 WHERE 工资<=2000 AND工资>=3000


    正确答案:A
    解析:本题中SQL语句查询的是工资小于等于3000且大于等于2000的职工记录,与SQL中特殊运算符BETWEEN... EDN...等价,意思是在“…和…之间”。

  • 第6题:

    已知有关系“STUDENT”,则关系运算σANE<80(STUDENT)用SQL语句表示为(52)。

    A.SELECT( * )FROM STUDENT WHERE AVE < 80

    B.SELECT( * )FROM STUDENT HAVING AVE < 80

    C.SELECT(AVE)FROM STUDENT WHERE AVE < 80

    D.SELECT(AVE) FROM STUDENT HAVING AVE < 80


    正确答案:A
    解析:σAVE80(STUDENT)表示将关系STUDENT中满足条件“AVE80”的元组选择出来。

  • 第7题:

    有下列SQL SELECT语句:SELECT*FROM 工资表 WHERE 基本工资<=3000 AND 基本工资>=1000下列与该语

    有下列SQL SELECT语句: SELECT*FROM 工资表 WHERE 基本工资<=3000 AND 基本工资>=1000 下列与该语句等价的是( )。

    A.SELECT*FROM 工资表 WHERE 基本工资 BETWEEN 1000 AND 3000

    B.SELECT*FROM 工资表 WHERE 基本工资 BETWEEN 3000 AND 1000

    C.SELECT*FROM 工资表 WHERE 基本工资 FROM 1000 INTO 3000

    D.SELECT*FROM 工资表 WHERE 基本工资 FROM 3000 INTO 1000


    正确答案:A
    解析:SQL查询语句中特殊运算BETWEEN...AND...的含义为“...和...之间”,意思为“..和..之间”相当于逻辑与运算中的(A>=AND>=B,其中A>B),选项B)中数值放置错误,选项C)和选项D)语句错误。

  • 第8题:

    “把查询sc表和更新sc表的grade列的权限授予用户user”的正确SQL语句是( )。

    A)GRANT SELECT sc,UP DATE sc.Grade TO user

    B)GRANT SELECT,UP DATE (grade) ON TABLE sc TO user

    C)GRANT SELECT,UP DATE ON TABLE sc.Grade TO user

    D)GRANT SELECT ON TABLE sc,UP DATE ON TABLE sc(grade) TO user


    正确答案:B

  • 第9题:

    对由SELECT--FROM—WHERE—GROUP--ORDER组成的SQL语句,其在被DBMS处理时,各子句的执行次序为()

    A.SELECT—FROM—GROUP—WHERE—ORDER

    B.FROM——SELECT--WHERE——GROUP——ORDER

    C.FROM——WHERE——GROUP——SELECT——ORDER

    D.SELECT——FROM——WHERE——GROUP——ORDER


    答案:C

  • 第10题:

    下列SELECT语句语法正确的是()。

    • A、SELECT*FROM"教师表"WHERE性别=男
    • B、SELECT*FROM教师表WHERE性别=男
    • C、SELECT*FROM教师表WHERE性别="男"
    • D、SELECT*FROM"教师表"WHERE性别="男"

    正确答案:C

  • 第11题:

    对于满足SQL92标准的SQL语句:  select foo,count(foo)from pokes where foo>10group by foo having count (*)>5 order by foo   其执行顺序应该是()。

    • A、FROM->WHERE->GROUP BY->HAVING->SELECT->ORDER BY
    • B、FROM->GROUP BY->WHERE->HAVING->SELECT->ORDER BY
    • C、FROM->WHERE->GROUP BY->HAVING->ORDER BY->SELECT
    • D、FROM->WHERE->ORDER BY->GROUP BY->HAVING->SELECT

    正确答案:A

  • 第12题:

    下列哪些SQL语句可以查询出User表中name为张三的记录()。

    • A、SELECT * FROM User WHERE name = ’张三’
    • B、SELECT * FROM User WHERE name = ’张三’ LIMIT 0,1
    • C、SELECT * FROM User WHERE name LIKE ’张三’
    • D、SELECT * FROM User WHERE name LIKE ’%张三%’

    正确答案:A,B,C,D

  • 第13题:

    下面SQL语句不正确的是()

    A.Select*from user

    B.update user set username=’zhangsan’where id=’2’

    C.Delete*from user

    D.insert into user values(1,’zhang’,’pass’);


    参考答案:C

  • 第14题:

    要从选课表(学号、课程号、成绩)中查询选修了三门课程以上的学生学号,应使用的SELECT-SQL语句是

    A.SELECT学号FROM选课表WHERE COUNT(*)>=3

    B.SELECT学号FROM选课表HAVING COUNT(*)>=3

    C.SELECT学号FROM选课表GROUP BY学号HAVING COUNT(*)>=3

    D.SELECT学号FROM选课表GROUP BY学号WHERE COUNT(*)>=3


    正确答案:C
    解析:在选课表中,要查每个学生选修了多少门课程,就应该有按学号的分组语句,如果在查询中对分组后的记录还有一定的限制,就要使用HAVING短语。

  • 第15题:

    有如下SQL SELECT 语句SELECT * FROM stock WHERE 单价 BETWEEN 12.76 AND 15.20与该语句等价的是A) SELECT * FROM stock WHERE 单价<=15.20.AND.单价>=12.76B) SELECT * FROM stock WHERE 单价<15.20.AND.单价>12.76C) SELECT * FROM stock WHERE 单价>=15.20.AND.单价<=12.76D) SELECT * FROM stock WHERE 单价>15.20.AND.单价<12.76


    正确答案:A
    本题考查考生对BETWEEN的理解和掌握。语句:
      SELECT F FR0M stock WHERE 单价BETWEEN 12.76 AND 15.20的含义是:选择"单价"在12.76和12.50之间的那些记录。请注意,用BETWEEN作取值范围限定时,是包括限定条件的两个端点值的,因此本题所设定的限定条件相当于”单价”大于等于12.76并且小于等于12.50的记录。选项A是另外一种实现条件查询的书写方法,其含义与题干中给出的sQL语句是完全一样的,其他几个选项都错误,请注意选项C有干扰性,其错误在用大于号和小于号作限定条件时,必须将小值写在AND的前面,故选项A为正确答案。

  • 第16题:

    有如下SQL语句: SELECT姓名FROM学生表WHERE学号IN; (SELECT学号FROM成绩表WHERE成绩>90) 下列哪条命令与该SQL语句等价

    A.SELECT姓名FROM学生表WHERE EXISTS; (SELECT学号FROM成绩表WHERE成绩>90)

    B.SELECT姓名FROM学生表WHERE EXISTS; (SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)

    C.SELECT姓名FROM学生表WHERE学号EXISTS; (SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)

    D. SELECT姓名FROM学生表WHERE学号=; (SELECT学号FROM成绩表WHERE成绩>90)


    正确答案:B
    解析:IN是包含运算,此处子查询中得到多个结果,记录不惟一,因此不用“=”运算符;EXISTS是谓词,用来检查在子查询中时候有结果返回。

  • 第17题:

    有SQL语句: SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; ALL(SELECT 工资 FROM 教师 WHERE 系号 =“02”) 与如上语句等价的SQL语句是

    A.SELECT DISTINCT 系号 PROM 教师 WHERE 工资>=; (SELECT MAX(工资)FROM 教师 WHERE 系号=“02”)

    B.SELECT DISTINCT 系号 FROM 教师 WHERE 工资=; (SELECT MIN(工资)FROM 教师 WHERE 系号=“02”)

    C.SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; ANY(SELECT 工资 FROM 教师 WHERE 系号=“02”)

    D.SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; SOME(SELECT 工资 FROM 教师 WHERE 系号=“02”)


    正确答案:A
    解析:题干中的SQL语句的功能是:查询那些工资比02系工资都高的教师所在的系号,四个选项中只有选项A中的查询条件与此等价,用(SELECT MAX(工资)FROM…WHERE…)实现选择出最高工资,故选项A为正确答案。选项B的查询条件表示工资大于02系中工资最低的教师的工资,选项C和D中的州Y和SOME是同义词,表示查询出只要比02系中某一个教师工资高的记录即可。

  • 第18题:

    从学生选课信息表中找出无成绩的元组的SQL语句是( )。

    A.SELECT*FROM sc WHERE grade=NULL

    B.SELECT*FROM sc WHERE grade IS"

    C.SELECT*FROM sc WHERE grade IS NULL

    D.SELECT*FROM sc WHERE grade="


    正确答案:C

  • 第19题:

    有SQL语句:SELECT DISTINCT系号FROM教师WHERE 工资>=ALL (SELECT 工资FROM教师WHERE系号=\"02\") 与如上语句等价的SQL语句是

    A.SELECT DISTINCT系号FROM教师WHERE工资>=(SELECT MAX(工资)FROM教师WHERE 系号="02")

    B.SELECT DISTINCT系号FROM教师WHERE工资>=(SELECT MIN(工资)FROM教师WHERE 系号="02")

    C.SELECT DISTINCT系号FROM教师WHERE工资>=(ANY(SELECT(工资)FROM教师WHERE 系号="02")

    D.SELECT DISTINCT系号FROM教师WHERE工资>=(SOME (SELECT(工资)FROM教师WHERE 系号="02")


    正确答案:A

  • 第20题:

    SQL语句:

    SELECT木FROM班级WHERE班级号NOT IN;

    (SELECT班级号FROM学生)

    该语句等价于:

    SELECT﹡FROM班级WHERE NOT__________;

    (SELECT木FROM学生WHERE班级号=班级.班级号)


    正确答案:
    EXISTS
    【解析】题中第一个SQL语句的含义是,检索哪些班级中还没有学生的班级信息,IN相当于数学集合运算符∈。EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回。&

  • 第21题:

    有如下SQL语句:下列哪条命令与该SQL语句等价() SELECT姓名FROM学生表WHERE学号IN; (SELECT学号FROM成绩表WHERE成绩>90)

    • A、SELECT姓名FROM学生表WHEREEXISTS;(SELECT学号FROM成绩表WHERE成绩>90)
    • B、SELECT姓名FROM学生表WHEREEXISTS;(SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)
    • C、SELECT姓名FROM学生表WHERE学号EXISTS;(SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)
    • D、SELECT姓名FROM学生表WHERE学号=;(SELECT学号FROM成绩表WHERE成绩>90)

    正确答案:B

  • 第22题:

    在Transact-SQL语法中,以下SELECT语句正确的是()。

    • A、SELECT * FROM student
    • B、SELECT * FROM student WHERE GETDATE()
    • C、SELECT * FROM student ORDER st_id
    • D、SELECT * FROM student BY St_name

    正确答案:A

  • 第23题:

    当需要返回当前用户的名字,可以执行如下()SQL语句。

    • A、SELECT user FROM V$DBA
    • B、SELECT user FROM dual
    • C、SELECT name FROM dual
    • D、SELECT name FROM V$DBA

    正确答案:B