OCP 1Z0 051 140
来源:互联网 发布:毒品对社会的危害数据 编辑:程序博客网 时间:2024/06/05 14:11
SELECT prod_name FROM products WHERE (unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand) FROM products);
140. Examine the structure of the PRODUCTS table:
name Null Type
PROD_ID NOT NULL NUMBER(4)
PROD_NAME VARCHAR2(20)
PROD_STATUS VARCHAR2(6)
QTY_IN_HAND NUMBER(8,2)
UNIT_PRICE NUMBER(10,2)
You want to display the names of the products that have the highest total value for UNIT_PRICE *
QTY_IN_HAND.
Which SQL statement gives the required output?
A. SELECT prod_name
FROM products
WHERE (unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand)
FROM products);
B. SELECT prod_name
FROM products
WHERE (unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand)
FROM products
GROUP BY prod_name);
C. SELECT prod_name
FROM products
GROUP BY prod_name
HAVING MAX(unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand)
FROM products
GROUP BY prod_name);
D. SELECT prod_name
FROM products
WHERE (unit_price * qty_in_hand) = (SELECT MAX(SUM(unit_price * qty_in_hand))
FROM products)
GROUP BY prod_name;
CREATE OR REPLACE VIEW test.products ASSELECT p.prod_id, p.prod_name, p.prod_status, 10 AS qty_in_hand, p.prod_list_price AS unit_price FROM sh.products p WHERE rownum <= 10;
要求取最高unit_price * qty_in_hand的name,得到的应该是一条数据
SQL> SELECT prod_name 2 FROM products 3 WHERE (unit_price * qty_in_hand) = 4 (SELECT MAX(unit_price * qty_in_hand) FROM products);PROD_NAME--------------------------------------------------Envoy Ambassador1 row selected
B C 子查询返回的显然不是最高,而是不同prod的最高unit_price * qty_in_hand,返回的是多条数据。=多行数据会报错
SQL> SELECT prod_name 2 FROM products 3 WHERE (unit_price * qty_in_hand) = 4 (SELECT MAX(unit_price * qty_in_hand) 5 FROM products 6 GROUP BY prod_name);SELECT prod_name FROM products WHERE (unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand) FROM products GROUP BY prod_name)ORA-01427: single-row subquery returns more than one row
SQL> SELECT prod_name 2 FROM products 3 GROUP BY prod_name 4 HAVING MAX(unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand) 5 FROM products 6 GROUP BY prod_name);SELECT prod_nameFROM productsGROUP BY prod_nameHAVING MAX(unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand)FROM productsGROUP BY prod_name)ORA-01427: single-row subquery returns more than one row
D 中的聚合函数嵌套会报错
SQL> SELECT MAX(SUM(unit_price * qty_in_hand)) FROM products;SELECT MAX(SUM(unit_price * qty_in_hand)) FROM productsORA-00978: nested group function without GROUP BY
Answer: A
0 0
- OCP 1Z0 051 140
- OCP 1Z0 052 140
- OCP 1Z0 053 140
- OCP 1Z0 051 1
- OCP 1Z0 051 2
- OCP 1Z0 051 3
- OCP 1Z0 051 4
- OCP 1Z0 051 5
- OCP 1Z0 051 6
- OCP 1Z0 051 7
- OCP 1Z0 051 8
- OCP 1Z0 051 9
- OCP 1Z0 051 10
- OCP 1Z0 051 11
- OCP 1Z0 051 12
- OCP 1Z0 051 13
- OCP 1Z0 051 14
- OCP 1Z0 051 15
- CSS3/jQuery自定义弹出窗口
- Android app里打开proguard
- Ubuntu安装nginx方法一(通过apt-get)
- OCP学习基本知识点总结
- 新人报道
- OCP 1Z0 051 140
- hdoj动态规划题集
- 关于c语言结构体字节数
- KUKA 通信子程序 p00.src 注释
- HMM学习最佳范例六:维特比算法5
- linux中fork()函数详解(原创!!实例讲解) (转载)
- Nginx配置文件详细说明
- mysql查看表结构命令
- LeetCode: Combinations [077]