zoukankan      html  css  js  c++  java
  • OCP-1Z0-051-V9.02-166题

    166. View the Exhibit and examine the structures of the EMPLOYEES and DEPARTMENTS tables.

    You want to update the EMPLOYEES table as follows:4 ? 4;

    -Update only those employees who work in Boston or Seattle (locations 2900 and 2700).

    -Set department_id for these employees to the department_id corresponding to London (location_id

    2100).

    -Set the employees' salary in location_id 2100 to 1.1 times the average salary of their department.

    -Set the employees' commission in location_id 2100 to 1.5 times the average commission of their

    department.

    You issue the following command:

    SQL>UPDATE employees     

    SET department_id =     

    (SELECT department_id             

    FROM departments             

    WHERE location_id = 2100),         

    (salary, commission) =         

    (SELECT 1.1*AVG(salary), 1.5*AVG(commission)           

    FROM employees, departments           

    WHERE departments.location_id IN(2900,2700,2100))         

    WHERE department_id IN         

    (SELECT department_id           

    FROM departments           

    WHERE location_id = 2900               

    OR location_id = 2700)

    What is the outcome?

     

     

    A. It executes successfully and gives the correct result.

    B. It executes successfully but does not give the correct result.

    C. It generates an error because a subquery cannot have a join condition in an UPDATE statement.

    D. It generates an error because multiple columns (SALARY, COMMISION) cannot be specified together

    in an UPDATE statement.

    Answer: B

     答案解析:

    题意要求更新条件:

    1.只更新那些在Boston或Seattle工作的employees(locations为2900或者2700)

    2.设置这些employees的department_id为London(location_id 2100)对应的department_id

    3.设置location_id 2100的employees' salary为他们部门的平均薪水的1.1倍

    4.设置location_id 2100的employees' commission为他们部门的平均提成的1.5倍


    UPDATE employees     

    SET department_id =     

    (SELECT department_id FROM departments WHERE location_id = 2100),         

    (salary, commission) = (SELECT 1.1*AVG(salary), 1.5*AVG(commission)  FROM employees, departments           

    WHERE departments.location_id IN(2900,2700,2100))         

    WHERE department_id IN (SELECT department_id FROM departments WHERE location_id = 2900 OR location_id = 2700)

     


    WHERE departments.location_id IN(2900,2700,2100))        应该使用部门ID进行关联。
  • 相关阅读:
    个人理解的块状格式化上下文
    行框与浮动与清除浮动
    关于offset,scroll,position
    C++常用字符串操作和UTF-8和GBK之间的转换以及判定(转)
    MFC使用LoadBitmap方法加载位图文件失败解决方案(转)
    MFC在子线程中创建窗口(PostMessage方法)
    MFC线程间消息传递(转)
    MFC对话框常用操作文章收藏
    C++ 跨dll传递string类型参数执行出错问题
    C++ windows API函数末尾A和W的意义(转)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13316836.html
Copyright © 2011-2022 走看看