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

    57. The CUSTOMERS table has the following structure:
    name                     Null         Type
    CUST_ID    NOT NULL  NUMBER
    CUST_FIRST_NAME   NOT NULL  VARCHAR2(20)
    CUST_LAST_NAME   NOT NULL  VARCHAR2(30)
    CUST_INCOME_LEVEL     VARCHAR2(30)
    CUST_CREDIT_LIMIT     NUMBER
    You need to write a query that  does the following tasks:
    1. Display the first name and tax amount of the customers. Tax is 5% of their credit limit. 
    2. Only those customers whose income level has a value should be considered.
    3. Customers whose tax amount is null should not be considered.
    Which statement accomplishes all the required tasks?
    A. SELECT cust_first_name, cust_credit_limit * .05 AS TAX_AMOUNT    
    FROM customers    
    WHERE cust_income_level IS NOT NULL AND          
    tax_amount IS NOT NULL; 
    B. SELECT cust_first_name, cust_credit_limit * .05 AS TAX_AMOUNT    
    FROM customers    
    WHERE cust_income_level IS NOT NULL AND          
    cust_credit_limit IS NOT NULL;
    C. SELECT cust_first_name, cust_credit_limit * .05 AS TAX_AMOUNT    
    FROM customers    
    WHERE cust_income_level <> NULL AND          
    tax_amount <> NULL;
    D. SELECT cust_first_name, cust_credit_limit * .05 AS TAX_AMOUNT    
    FROM customers    
    WHERE (cust_income_level,tax_amount) IS NOT NULL;
    Answer: B
    答案解析:
    A,WHERE子句不能跟别名
    sh@TEST0924> SELECT cust_first_name, cust_credit_limit * .05 AS TAX_AMOUNT FROM customers
      2  WHERE cust_income_level IS NOT NULL AND TAX_AMOUNT IS NOT NULL
      3  /
    WHERE cust_income_level IS NOT NULL AND TAX_AMOUNT IS NOT NULL
                                            *
    ERROR at line 2:
    ORA-00904: "TAX_AMOUNT": invalid identifier

    sh@TEST0924> SELECT cust_first_name, cust_credit_limit * .05 AS TAX_AMOUNT FROM customers
      2  WHERE cust_income_level IS NOT NULL AND cust_credit_limit * .05 IS NOT NULL;


    CUST_FIRST_NAME      TAX_AMOUNT
    -------------------- ----------
    Abigail                      75
    Abigail                     350
    ...
    B,正确
    sh@TEST0924> SELECT cust_first_name, cust_credit_limit * .05 AS TAX_AMOUNT FROM customers
      2  WHERE cust_income_level IS NOT NULL AND cust_credit_limit IS NOT NULL;


    CUST_FIRST_NAME      TAX_AMOUNT
    -------------------- ----------
    Abigail                      75
    Abigail                     350
    ...
    C错误,一是where子句不能用别名,二是非null不能用<>来表达
    sh@TEST0924> SELECT cust_first_name, cust_credit_limit * .05 AS TAX_AMOUNT FROM customers
      2  WHERE cust_income_level <> NULL AND tax_amount <> NULL;
    WHERE cust_income_level <> NULL AND tax_amount <> NULL
                                        *
    ERROR at line 2:
    ORA-00904: "TAX_AMOUNT": invalid identifier


    sh@TEST0924> SELECT cust_first_name, cust_credit_limit * .05 AS TAX_AMOUNT FROM customers
      2  WHERE cust_income_level <> NULL AND cust_credit_limit<> NULL;

    no rows selected
    D错误,语法错误
    sh@TEST0924> SELECT cust_first_name, cust_credit_limit * .05 AS TAX_AMOUNT FROM customers
      2  WHERE (cust_income_level,tax_amount) IS NOT NULL;
    WHERE (cust_income_level,tax_amount) IS NOT NULL
                                         *
    ERROR at line 2:
    ORA-00920: invalid relational operator
  • 相关阅读:
    left join问题
    SQL索引
    数据库查询优化
    define and inline
    程序的内存分配
    __closure
    this指针
    java笔记
    Visual Studio Code(VSCODE)语言设置
    Excel 2010如何打开多个独立窗口?
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13316913.html
Copyright © 2011-2022 走看看