2020-12-17打卡

1.1 SELECT

1.1.1 SELECT基本语句
SELECT 语句用于从表中选取数据。基本SELECT语句包含了SELECT和FROM两个子句(clause
注意:a.星号(*)是选取所有列的快捷方式。(示例:SELECT * FROM <表名>)
b.SELECT语句中使用DISTINCT可以删除重复行。(实例:SELECT DISTINCT 列名称 FROM 表名称)
c.设定汉语别名时需要使用双引号(")括起来。(SELECT product_id As id,purchase_price AS “进货单价” FROM product;)

1.1.1 WHERE语句
当需选取出满足某些条件的数据时,使用WHERE语句。
WHERE也可以选取出不是查询条件的列,即条件列与输出列不同。(示例:SELECT product_name FROM product WHERE product_type = ‘衣服’;)

1.2 算数运算符和比较运算符
注意:字符串类型的数据原则上按照字典顺序进行排序,不能与数字的大小顺序混淆。

1.3逻辑运算符
1.3.1 注意:AND 运算符优先于 OR 运算符,想要优先执行OR运算,需要使用括号。
在这里插入图片描述
1.3.2 真值表
一般的逻辑运算并不存在这第三种值。SQL 之外的语言也基本上只使用真和假这两种真值。与通常的逻辑运算被称为二值逻辑相对,只有 SQL 中的逻辑运算被称为三值逻辑。

1.4 聚合函数
SQL中用于汇总的函数叫做聚合函数,主要有count/sum/avg/max/min.
COUNT:计算表中的记录数(行数)
SUM:计算表中数值列中数据的合计值
AVG:计算表中数值列中数据的平均值
MAX:求出表中任意列中数据的最大值
MIN:求出表中任意列中数据的最小值
注意:a.聚合函数去重
示例:-- 计算去除重复数据后的数据行数
SELECT COUNT(DISTINCT product_type) FROM product
b.聚合函数会将NULL排除在外。但COUNT()例外,并不会排除NULL;COUNT函数的结果根据参数的不同而不同。**COUNT()会得到包含NULL的数据行数,而COUNT(<列名>)会得到NULL之外的数据行数**。

1.5 GROUP BY
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组.
注意:a.在 GROUP BY 子句中指定的列称为聚合键或者分组列。对一个以上的列GROUP BY 时用“,”区分,列名可用1,2,3…99代替
b.聚合键中包含NULL时,会将NULL作为一组特殊数据进行处理
c.在GROUP BY子句中使用列的别名 SELECT子句中可以通过AS来指定别名,但在GROUP BY中不能使用别名。因为在DBMS中 ,SELECT子句在GROUP BY子句后执行。
d.WHERE中使用聚合函数会出现矛盾,因为where正在处理数据集,但是聚合函数需要在确定的集中使用。

1.6 HAVING
HAVING可在GROUP BY后面使用,用法类似WHERE。
HAVING子句用于对分组进行过滤,可以使用数字、聚合函数和GROUP BY中指定的列名(聚合键)。

1.7 排序
1.7.1 ORDER BY 默认为升序排列,降序排列为DESC
1.7.2 ORDER 可用SELECT定义的别名
原因:ORDER BY的执行顺序在SELECT之后;
SQL在使用 HAVING 子句时 SELECT 语句的顺序为:
FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值