itgle.com

在SQL Server 2000中,有教师表(教师号,姓名,职称,工资)。现要根据教师的职称来添加教师的工资,增加规则为:“教授”增加400,“副教授”增加300,“讲师”增加200。下列语句中正确的是______。A)UPDATE教师表SET工资=工资+CASE职称WHEN‘教授’THEN 400WHEN‘副教授’THEN 300WHEN‘讲师’THEN 200ENDB)UPDATE教师表SET工资=工资+CASE职称WHEN职称=‘教授’THEN 400WHEN职称=‘副教授’THEN 300WHEN

题目

在SQL Server 2000中,有教师表(教师号,姓名,职称,工资)。现要根据教师的职称来添加教师的工资,增加规则为:“教授”增加400,“副教授”增加300,“讲师”增加200。下列语句中正确的是______。

A)UPDATE教师表SET工资=工资+CASE职称

WHEN‘教授’THEN 400

WHEN‘副教授’THEN 300

WHEN‘讲师’THEN 200

END

B)UPDATE教师表SET工资=工资+CASE职称

WHEN职称=‘教授’THEN 400

WHEN职称=‘副教授’THEN 300

WHEN职称=‘讲师’THEN 200

END

C)UPDATE教师表SET工资=CASE职称

WHEN‘教授’THEN工资=工资+400

WHEN‘副教授’THEN工资=工资+300

WHEN‘讲师’THEN工资=工资+200

END

D)UPDATE教师表SET工资=工资+CASE职称

WHEN职称=‘教授’THEN工资=工资+400

WHEN职称=‘副教授’THEN工资=工资+300

WHEN职称=‘讲师’THEN工资=工资+200

END

A.

B.

C.

D.


相似考题
更多“在SQL Server 2000中,有教师表(教师号,姓名,职称,工资)。现要根据教师的职称来添加教师的工资,增 ”相关问题
  • 第1题:

    设教师表的结构为:(教师号、姓名、性别、职称、工资、所在系)。若要查询其他系中比计算机系所有教师工资都高的教师的姓名和工资,正确的SELECT语句是 ______。

    A.SELECT姓名,工资FROM教师表WHERE工资>ANY(SELECT工资; FROM教师表WHERE所在系=“计算机”)AND所在系<>计算机

    B. SELECT姓名,工资FROM教师表WHERE工资>(SELECT MIN(工资); FROM教师表WHERE所在系=“计算机”)AND所在系<>计算机

    C. SELECT姓名,工资FROM教师表WHERE工资>ALL(SELECT工资; FROM教师表WHERE所在系=“计算机”)AND所在系<>计算机

    D. SELECT姓名,工资FROM教师表WHERE工资>(SELECT MAX(工资); FROM教师表WHERE所在系=“计算机”AND所在系<>计算机)


    正确答案:C
    解析:本查询是基于教师表查询其他系中比计算机系所有教师工资都高的教师的姓名和工资,4个选项中都使用了子查询。选项A中子查询给出了计算机系所有教师的工资的集合,子查询前的量词ANY代表任意一个,AND前后是并列的条件,该语句查询的是非计算机系中工资大于计算机系任何一个教师的工资的教师的姓名和工资,或者说是查询非计算机系中工资比计算机系最低工资高的教师的姓名和工资,假如,计算机系教师的工资集合是(1500,1300,900),那么查询的是所有不是计算机系且工资高于900的教师,该选项不合题义。选项B中子查询使用了函数MIN求出了计算机系最低工资,查询的结果是找出非计算机系中工资比计算机系最低工资高的教师姓名和工资,同选项A一样,不合题义;选项C中子查询给出了计算机系所有教师的工资的集合,子查询前的量词ALL代表全部,该语句查询的是非计算机系中工资大于计算机系所有教师的工资的教师的姓名和工资,或者说是查询非计算机系中工资比计算机系最高工资都高的教师的姓名和工资,假如,计算机系教师的工资集合是(1500,1300,900),那么查询的是所有不是计算机系且工资高于1500的教师,该选项符合题义,是正确的。选项D中子查询使用了函数MAX求出了计算机系最高丁资,按题义应该是正确的,但是由于将并列条件“所在系>计算机”放在于查询之内,造成逻辑表达错误,因此也是错误。

  • 第2题:

    设教师表的结构为:(教师号、姓名、性别、职称、工资、所在系),授课表的结构为:(教师号、课程号)。若要查询所有教师所讲授的课程,并列出教师号、姓名和课程号,应使用的 SELECT语句是______。

    A.SELECT教师表.教师号,姓名,课程号FROM教师表,授课表; WHERE教师表.教师号=教师号

    B.SELECT教师表.教师号,姓名,课程号FROM教师表,授课表; ON教师表.教师号=授课表.教师号

    C.SELECT教师表.教师号,姓名,课程号FROM教师表INNER JION授课表; ON 教师表.教师号=授课表.教师号

    D.SELECT教师表.教师号,姓名,课程号FROM教师表INNER JION授课表; WHERE教师表.教师号=授课表.教师号


    正确答案:C

  • 第3题:

    要从教师表中查询与教师“陈静”职称相同的教师名,应使用的SQL语句是 ______。

    A. SELECT姓名FROM教师表WHERE职称=“陈静”

    B.SELECT X.姓名FROM教师表AS X,教师表AS Y; WHERE X.职称=Y.职称WHERE Y.姓名=“陈静”

    C. SELECT姓名FROM教师表WHERE职称=(SELECT职称FROM教师表; AND姓名=“陈静”)

    D.SELECT姓名FROM教师表WHERE职称=(SELECT职称FROM教师表; WHERE姓名=“陈静”)


    正确答案:D
    解析:本查询是在一个教师表中查询与教师“陈静”职称相同的教师的姓名,可以使用自身连接查询方式或子查询方式来实现。选项A中WHERE条件短语有错,选项B使用的是自身连接查询,但WHERE条件短语中逻辑表达式错误,选项C和D采用的是子查询,但选项C中子查询的条件短语有错。

  • 第4题:

    查询每门课程的课程名、任课教师姓名及其职称、选课人数。对下列的SELECT-SQL语句填空: SELECT课程名,姓名,职称,【 】; FROM课程表,教师表,授课表,选课表; WHERE教师表.教师号=授课表.教师号; AND课程表.课程号=授课表.课程号AND【 】GROUP BY选课表.课程号


    正确答案:COUNT(选课表.学号) 选课表.课程号=课程表.课程号
    COUNT(选课表.学号) ,选课表.课程号=课程表.课程号 解析:本题内容涉及到4个表,用3个连接条件将4个表有机地连接起来。其中,前两个连接条件可以给出每门课程的课程名、任课教师名及其职称。后一个连接条件将相关课程与学生的选课情况联系起来,通过按课程号进行分组,统计每一组的学号数,就可以得到每一门课程的选课人数。

  • 第5题:

    设教师表的结构为:(教师号、姓名、性别、职称、工资、所在系)。若要查询讲授课程号为“C140”的教师姓名,下列SELECT-SQL语句中,错误的语句是______。

    A.SELECT姓名FROM教师表WHERE(教师号=ANY;(SELECT教师号FROM授课表WHERE课程号=“C140”))

    B.SELECT姓名FROM教师表WHEREEXISTS(SELECT*FROM授课表;WHERE教师号=教师表.教师号AND课程号=“C140”)

    C.SELECT姓名FROM教师表,授课表WHERE教师表.教师号=授课表.教师号;AND授课表.课程号=“C140”

    D.SELECT姓名FROM教师表WHERE(教师号=ALL;(SELECT教师号FROM授课表WHERE课程号=“C140”))


    正确答案:D
    解析:本查询是基于教师表和授课表查询讲授课程号为“C140”的教师的姓名,可以使用两种方法:等值连接查询和子查询。选项A采用的是返回一组值的子查询,先执行子查询,找到讲授课程号为“C140”的教师号,由于讲授“C140”课程的教师可能是一个或多个,返回的教师号为一组值的集合;再执行父查询,其中ANY也可以用IN代替,其含义为任意一个,即筛选出教师表中的教师号为子查询返回集合中的任意一个值所对应记录的教师姓名,此选项是正确的。选项B采用的也是子查询的一种:判断在子查询中是否存在相关的记录,当子查询检查到在授课表中存在一条满足其WHERE条件短语的记录时,父查询便得到一个教师姓名,重复执行上述过程,直到得出最后结果,即筛选出教师表中的教师号为子查询返回集合中的任意一个值所对应记录的教师姓名,此选项也是正确的。选项C是等值连接查询,即在教师表和授课表中,选取满足WHERE条件短语的教师姓名,是正确答案。选项D也采用的是返回一组值的子查询,但量词ALL在此处用法不当,是错误的。