LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

8个必知必会的SQL小技巧!

admin
2024年1月30日 17:56 本文热度 513

这次给大家带来8个必知必会的SQL小技巧,包括窗口函数、子查询、通用表格表达式等等,一起来看看吧!



1. 窗口函数(Window Functions)

窗口函数在分析和汇总数据时非常有用。下面例子展示如何计算每个类别的销售额排名:

SELECT category, product_name, sales, RANK() OVER (PARTITION BY category ORDER BY sales DESC) as sales_rankFROM products;



2. 子查询(Subqueries)

子查询可以嵌套在主查询中,增强查询的灵活性。以下是一个使用子查询查找平均销售额的示例:

SELECT product_name, salesFROM productsWHERE sales > (SELECT AVG(sales) FROM products);

不过要慎用,影响查询性能。



3. 通用表格表达式(CTE)

通用表格表达式(CTE)可用于更清晰、模块化地构建复杂的查询。以下是一个使用CTE找出销售额最高的产品的示例:

WITH ranked_products AS (SELECT product_name, sales, RANK() OVER (ORDER BY sales DESC) as sales_rank FROM products)SELECT product_name, salesFROM ranked_productsWHERE sales_rank = 1;



4. 联结表格(JOIN)

使用联结是优化查询的重要手段之一。以下例子展示了如何使用INNER JOIN联结两个表格:

SELECT orders.order_id, customers.customer_nameFROM ordersINNER JOIN customers ON orders.customer_id = customers.customer_id;


除了INNER JOIN,还有LEFT JOIN、FULL JOIN、SEMI JOIN、ANTI JOIN等等。后两个如何使用,可以查看下方链接哦。

SQL | left semi join与left anti join



5. 条件聚合(Conditional Aggregation)

通过条件聚合,你可以在聚合函数中使用条件语句。以下例子演示如何计算不同产品类别的平均销售额,但仅考虑销售额大于1000的记录:

SELECT category, AVG(CASE WHEN sales > 1000 THEN sales ELSE NULL END) as avg_salesFROM productsGROUP BY category;



6. 窜升(Pivoting)

也叫数据透视。使用PIVOT关键字,你可以将行数据转换为列。下面展示了如何将销售额按月份进行窜升:

SELECT *FROM (SELECT month, category, sales FROM monthly_sales) AS source_tablePIVOT (SUM(sales) FOR month IN ('Jan', 'Feb', 'Mar')) AS pivot_table;



7. 日期和时间处理

处理日期和时间数据时,以下是一个计算一周内订单数量的例子:

SELECT DATE_TRUNC('week', order_date) AS week_start, COUNT(*) AS order_countFROM ordersWHERE order_date >= CURRENT_DATE - INTERVAL '1 week'GROUP BY week_start;



8. 合并数据(UNION)

使用UNION操作符,你可以合并多个查询结果。下面例子展示了如何合并两个类别的产品销售信息:

SELECT product_name, salesFROM products_1WHERE category = 'Electronics'UNIONSELECT product_name, salesFROM products_2WHERE category = 'Appliances';

不过,UNION慎用,它自带去重功能。在不需要去重时,可以考虑用UNION ALL。


该文章在 2024/1/31 12:32:04 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved