SQL 子句2025年1月31日 | 阅读 5 分钟 以下是各种 SQL 子句 ![]() 1. GROUP BY
语法 示例表 PRODUCT_MAST
示例 说明 执行上述查询后,结果将如下所示。在此,按公司对行进行分组,并计算每家公司下的项目数量并显示。 输出 Com1 5 Com2 3 Com3 2 2. HAVING如果您想使用 WHERE 子句对分组数量添加限制,它会生成错误消息“ORA00934:因为此处不允许使用分组函数”。为此,我们使用了 Having 子句的概念。
语法 说明 执行后,它将进一步限制行,如下所示。通过这种方式,我们可以使用 HAVING 子句过滤从您的组中返回的行组。HAVING 子句始终包含聚合 SQL 函数,并且只能由 group by 子句使用。 示例 输出 Com1 5 Com2 3 3. ORDER BY
语法 其中 ASC:用于按表达式对结果集进行升序排序。 DESC:按表达式对结果集进行降序排序。 示例:结果升序排序表 CUSTOMER
输入以下 SQL 语句 说明 执行后的输出显示如下。在此,NAME 列默认按升序排序。 输出
示例:结果降序排序使用上述 CUSTOMER 表 说明 执行后输出显示如下。在此,NAME 列按降序排序。 输出
示例:结果同时按升序和降序排序使用上述 CUSTOMER 表 说明 执行后输出显示如下。在此,NAME 列按降序排序。 输出
示例:结果同时按升序和降序排序 使用上述 CUSTOMER 表 SELECT * FROM CUSTOMER ORDER BY NAME ASC, ADDRESS DESC; 说明 执行后输出如下。在此,NAME 列首先按升序排序,然后 ADDRESS 列按降序排序。 输出
示例:通过指定列位置而不是列名来同时按升序和降序对结果进行排序 您还可以选择在 order by 子句中指定列的位置而不是列名。 使用上述 CUSTOMER 表 SELECT * FROM CUSTOMER ORDER BY 2 ASC, 3 DESC; 说明 执行后输出显示如下。在此,第 2 列(即 NAME)首先按升序排序,然后第 3 列(即 ADDRESS)按降序排序。 输出
使用 ORDER BY 子句时应记住以下几点
SQL 子句选择题1. 以下关于 ORDER BY 子句的陈述哪个是正确的?
答案:d 解释:ORDER BY 子句用于按升序和降序对数据进行排序。 2. 找出错误 "SELECT PRODUCT, COUNT(*) FROM PRODUCT_MAST GROUP BY COMPANY";
答案:c 解释:在 SQL 语句中,GROUP BY 子句必须与 SELECT 列表中的一个列一起使用,在上面的示例中,它必须是 GROUP BY PRODUCT。 3. 以下关于按降序排列数据的陈述哪个是正确的?
答案:b 解释:以下语句对于按降序排列数据是正确的。 SELECT * FROM CUSTOMER ORDER BY NAME DESC; 4. 找出错误 SELECT COMPANY, COUNT(*) FROM PRODUCT_MAST GROUP BY COMPANY where COUNT (*) > 2;
答案:d 解释:COUNT(*) 这样的聚合函数不应该在 WHERE 子句中使用,而应该使用 HAVING 子句。 5. 找出错误 SELECT COMPANY, COUNT (*) as total_employees FROM PRODUCT_MAST GROUP BY COMPANY Having total_employees > 2;
答案:c 解释:HAVING 子句应直接与聚合函数一起使用,而不是与别名一起使用。 下一主题DBMS SQL 聚合函数 |
我们请求您订阅我们的新闻通讯以获取最新更新。