Datawhale开源学习SQL: 1.基础查询和排序
2021/9/16 2:05:31
本文主要是介绍Datawhale开源学习SQL: 1.基础查询和排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Datawhale开源学习SQL: 1.基础查询和排序
- TASK02 基础查询和排序
- SELECT
- 运算符
- 练习1
- 聚合函数
- GROUP BY
- HAVING
- ORDER BY
- 练习2
开源连接:https://github.com/datawhalechina/wonderful-sql
TASK02 基础查询和排序
基本语法太多地方可以查阅了,下面记录个人觉得要注意的点~
SELECT
- 设定汉语别名时需要使用双引号(")括起来。
SELECT product_name as "商品名" FROM product;
- 在SELECT语句中使用DISTINCT可以删除重复行。
SELECT DISTINCT product_type FROM product;
运算符
- <> 和~不相等
- IS NOT NULL / IS NULL 分别取非空和空
- AND 运算符优先于 OR 运算符,想要优先执行OR运算,可以使用括号
product_type = '办公用品' AND ( regist_date = '2009-09-11' OR regist_date = '2009-09-20')
练习1
-- 编写一条SQL语句,从product(商品)表中选取出“登记日期(regist在2009年4月28日之后”的商品,查询结果要包含product name和regist_date两列。 SELECT product_name, regist_date FROM products WHERE regist_date >= '2009-04-28'; -- 请说出对product 表执行如下3条SELECT语句时的返回结果。 SELECT * FROM product WHERE purchase_price = NULL; /* 返回没有记录购入价格的产品的所有信息*/ SELECT * FROM product WHERE purchase_price <> NULL; /* 返回有记录购入价格的产品的所有信息*/ SELECT * FROM product WHERE product_name > NULL; /* 返回空表*/
聚合函数
COUNT:计算表中的记录数(行数)
SUM:计算表中数值列中数据的合计值
AVG:计算表中数值列中数据的平均值
MAX:求出表中任意列中数据的最大值
MIN:求出表中任意列中数据的最小值
- COUNT函数的结果根据参数的不同而不同。COUNT(*)会得到包含NULL的数据行数,而COUNT(<列名>)会得到NULL之外的数据行数。
- 聚合函数会将NULL排除在外。但COUNT(*)例外,并不会排除NULL。
- DISTINCT
GROUP BY
- 在GROUP BY子句中使用列的别名 SELECT子句中可以通过AS来指定别名,但在GROUP BY中不能使用别名。因为在DBMS中 ,SELECT子句在GROUP BY子句后执行。
- 在WHERE中使用聚合函数 原因是聚合函数的使用前提是结果集已经确定,而WHERE还处于确定结果集的过程中,所以相互矛盾会引发错误。 如果想指定条件,可以在SELECT,HAVING(下面马上会讲)以及ORDER BY子句中使用聚合函数。
HAVING
HAVING子句用于对分组进行过滤,可以使用数字、聚合函数和GROUP BY中指定的列名(聚合键)。
ORDER BY
SQL在使用 HAVING 子句时 SELECT 语句的顺序为:
FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY。
- GROUP BY 子句中不能使用SELECT 子句中定义的别名,但是在 ORDER BY 子句中却可以使用别名。
练习2
/*请编写一条SELECT语句,求出销售单价( sale_price 列)合计值大于进货单价( purchase_price 列)合计值1.5倍的商品种类。执行结果如下所示。 product_type | sum | sum -------------+------+------ 衣服 | 5000 | 3300 办公用品 | 600 | 320 */ SELECT product_type, SUM(sales_price) AS sum_salse_price, SUM(purchase_price) AS sum_purchas_price FROM product GROUP BY product_type HAVING SUM(sales_price)>SUM(purchase_price);
这篇关于Datawhale开源学习SQL: 1.基础查询和排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)