(1)任务描述
本关任务:1. 使用函数 MAX() 计算数据表中指定字段的最大值;2. 使用函数 MIN() 计算数据表中指定字段的最小值。
(2)相关知识
为了完成本关任务,你需要掌握:
- MAX() 函数的含义;
- MAX() 函数的用法;
- MIN() 函数的含义;
- MIN() 函数的用法。
(3)MAX() 函数的使用
MAX() 函数能够返回某一字段(列)的最大值。值得注意的是,要想使用 MAX() 函数,就一定需要有特定的字段(列)与之配对,不能偷懒用通配符 * 作参数。
语法规则为:
SELECT MAX(字段名)
FROM 表名
举个例子 我们想从表 Customers 中,检索到所有消费者消费金额的最高值。
表 Customers 的内容如下图所示:
输入:
SELECT MAX(cost) as max_cost
FROM Customers
输出:
检索过程为:
在这个例子中, MAX() 函数返回了 cost 字段中数值最大的内容(行)。
Tips: 虽然 MAX() 函数经常用于寻找最大的数值型数字,但是有些(不是所有)数据库管理系统允许将 MAX() 函数用于字符型数据。当用于字符型数据时, MAX() 函数将会为我们返回 某字段(列) 的最后一个数据内容。
比如如下检索过程:
字段(列)cust_email 存储的是字符型数据,却能用来返回该字段最后一个数据内容。
Tips: MAX() 函数会直接忽略在检索过程中碰见的空值 NULL。
(4)MIN 函数的使用
与 MAX() 函数相反,MIN() 函数能够返回某一字段(列)的最小值。
语法规则为:
SELECT MIN(字段名)
FROM 表名
Tips: 虽然 MIN() 函数经常用于寻找最小的数值型数字,但是有些(不是所有)数据库管理系统允许将 MIN() 函数用于字符型数据。当用于字符型数据时,MIN() 函数将会为我们返回某字段(列)的第一个数据内容。
Tips: MIN() 函数同样也会直接忽略在检索过程中碰见的空值 NULL 。
MIN() 函数就讲这么多了,没有例子?剩下的需要你们亲自来完成。
(5)编程要求
我们已经为你建好了数据库与数据表,并添加了相应的数据内容。你只需补全右侧代码片段中 Begin-End 区间的代码,返回表 Products 中商品价格( prod_price )最小的商品的 prod_name 和 prod_price。
其中表 Products 的内容不公开,但是已知每个产品的价格非空。
提示:
- 与本关例子不同的是,在练习中需要你们返回的是 prod_name 和 prod_price,而不是最小值;
- 与本关例子不同的是,在练习中需要你们设置的过滤条件是最小值。
- SELECT 语句是可以嵌套使用的,比如有如下形式的代码:
SELECT column_A
FROM table
WHERE column_A = (SELECT column_B FROM table)
期待你的发挥!
测试说明
测试过程:
-
本关涉及到的测试文件是 step3_test.sh,平台将运行用户补全的 step3.sql 文件,得到数据;
-
将得到的数据与答案比较,判断代码是否正确。
如果操作正确,你将得到如下的结果:
开始你的任务吧,祝你成功!
实验代码法一
实验代码法二