SQL查缺补漏合集

SQL查缺补漏合集

  1. sql中的三值逻辑

2. MAX/MIN 函数适用于任何数据类型的列,也就是说,只要是能够排序的数据,就肯定有最大值和最小值,也就能够使用这两个函数。对日期来说,平均值和合计值并没有什么实际意义,因此不能使用SUM/AVG 函数。这点对于字符串类型的数据也适用,字符串类型的数据能够使用 MAX/MIN 函数,但不能使用 SUM/AVG 函数。

3. shop=# SELECT product_name, purchase_price, COUNT() FROM Product GROUP BY purchase_price;

错误: 字段 “product.product_name” 必须出现在 GROUP BY 子句中或者在聚合函数中使用

4. 在GROUP BY子句中不能使用SELECT子句中定义的别名。

5. GROUP BY子句结果的显示是无序的。

6. GROUP BY子句中不能使用SELECT 子句中定义的别名,而ORDER BY子句中可以用。

7. ORDER BY中可以用不在SELECT中出现的列,也可以使用聚集函数如count(*)

8. 标量子查询指的是只返回一行数据的子查询。用于解决where子句中不能使用聚合函数的问题。

9. COALESCE 是 SQL 特有的函数。该函数会返回可变参数 A 中左侧开始第1个不是 NULL 的值。参数个数是可变的,因此可以根据需要无限增加。

SELECT COALESCE(SP.shop_id, ‘不明’) AS shop_id, COALESCE(SP.shop_name, ‘不明’) AS shop_name, P.product_id, P.product_name, P.sale_price FROM ShopProduct SP RIGHT OUTER JOIN Product P ON SP.product_id = P.product_id ORDER BY shop_id;

发表回复

*您的电子邮件地址不会被公开。必填项已标记为 。

*
*