本文概述
以下是各种SQL子句:
1.分组依据
- SQL GROUP BY语句用于将相同的数据分为几组。 GROUP BY语句与SQL SELECT语句一起使用。
- GROUP BY语句在SELECT语句中的WHERE子句之后, 在ORDER BY子句之前。
- GROUP BY语句与聚合功能一起使用。
句法
SELECT column
FROM table_name
WHERE conditions
GROUP BY column
ORDER BY column
样表:
PRODUCT_MAST
产品 | 公司 | 数量 | 率 | 成本 |
---|---|---|---|---|
Item1 | Com1 | 2 | 10 | 20 |
Item2 | Com2 | 3 | 25 | 75 |
Item3 | Com1 | 2 | 30 | 60 |
Item4 | Com3 | 5 | 10 | 50 |
Item5 | Com2 | 2 | 20 | 40 |
Item6 | Cpm1 | 3 | 25 | 75 |
Item7 | Com1 | 5 | 30 | 150 |
Item8 | Com1 | 3 | 10 | 30 |
Item9 | Com2 | 2 | 25 | 50 |
Item10 | Com3 | 4 | 30 | 120 |
例:
SELECT COMPANY, COUNT(*)
FROM PRODUCT_MAST
GROUP BY COMPANY;
输出:
Com1 5
Com2 3
Com3 2
2.有
- HAVING子句用于指定组或集合的搜索条件。
- 在GROUP BY子句中使用hading。如果不使用GROUP BY子句, 则可以像WHERE子句一样使用HAVING函数。
句法:
SELECT column1, column2
FROM table_name
WHERE conditions
GROUP BY column1, column2
HAVING conditions
ORDER BY column1, column2;
例:
SELECT COMPANY, COUNT(*)
FROM PRODUCT_MAST
GROUP BY COMPANY
HAVING COUNT(*)>2;
输出:
Com1 5
Com2 3
3.订购
- ORDER BY子句以升序或降序对结果集进行排序。
- 默认情况下, 它将按升序对记录进行排序。 DESC关键字用于按降序对记录进行排序。
句法:
SELECT column1, column2
FROM table_name
WHERE condition
ORDER BY column1, column2... ASC|DESC;
哪里
ASC:用于按表达式升序对结果集进行排序。
DESC:按表达式对结果集按降序排序。
示例:按升序对结果进行排序
表:
顾客
客户ID | NAME | 地址 |
---|---|---|
12 | Kathrin | US |
23 | David | Bangkok |
34 | Alina | Dubai |
45 | John | UK |
56 | Harry | US |
输入以下SQL语句:
SELECT *
FROM CUSTOMER
ORDER BY NAME;
输出:
客户ID | NAME | 地址 |
---|---|---|
34 | Alina | Dubai |
23 | David | Bangkok |
56 | Harry | US |
45 | John | UK |
12 | Kathrin | US |
示例:以降序对结果进行排序
使用上面的CUSTOMER表
SELECT *
FROM CUSTOMER
ORDER BY NAME DESC;
输出:
客户ID | NAME | 地址 |
---|---|---|
12 | Kathrin | US |
45 | John | UK |
56 | Harry | US |
23 | David | Bangkok |
34 | Alina | Dubai |
评论前必须登录!
注册