SQL训练营打卡

本文详细介绍了SQL中的SELECT语句基础,包括从表中选取数据、算术与比较运算符、逻辑运算符的使用。此外,还讲解了如何进行聚合查询,如COUNT、SUM、AVG、MAX、MIN函数的应用,以及如何通过GROUP BY和ORDER BY进行数据分组和排序。内容适合SQL初学者,帮助理解基础查询操作。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:链接: https://tianchi.aliyun.com/specials/promotion/aicampsql;

前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、SELECT语句基础

二、使用步骤

1.从表中选取数据

SELECT <列名>, ……
FROM <表名>
WHERE <条件表达式>

相关法则

  1. 星号代表全部列的意思,ps:在java中的mybatis中,不建议使用*
  2. SQL中可以随意使用换行符,不影响语句执行(但不可插入空行)。
  3. 设定汉语别名时需要使用双引号(")括起来。
  4. 在SELECT语句中使用DISTINCT可以删除重复行。
  5. 注释是SQL语句中用来标识说明或者注意事项的部分。

2、算术运算符和比较运算符

  1. SQL语句中可以使用的四则运算的主要运算符如下:
    加法 +
    减法 -
    乘法 *
    除法 /

  2. 比较运算符
    SQL常见比较运算符如下: | 运算符 | 含义 | | :----- | :-------- | | = | 和~相等 | | <> | 和~不相等 | | >= | 大于等于~ | | > | 大于~ | | <= | 小于等于~ | | < | 小于~ |

  3. 常用法则
    SELECT子句中可以使用常数或者表达式。
    使用比较运算符时一定要注意不等号和等号的位置。
    字符串类型的数据原则上按照字典顺序进行排序,不能与数字的大小顺序混淆。
    希望选取NULL记录时,需要在条件表达式中使用IS NULL运算符。希望选取不是NULL的记录时,需要在条件表达式中使用IS NOT NULL运算符。

3、逻辑运算符

3.1 NOT运算符
想要表示“不是……”时,除了前文的<>运算符外,还存在另外一个表示否定、使用范围更广的运算符:NOT。

3.2 AND运算符和OR运算符
当希望同时使用多个查询条件时,可以使用AND或者OR运算符。

3.3 含有NULL时的真值
NULL的真值结果既不为真,也不为假,因为并不知道这样一个值。

这时真值是除真假之外的第三种值——不确定(UNKNOWN)。一般的逻辑运算并不存在这第三种值。SQL 之外的语言也基本上只使用真和假这两种真值。与通常的逻辑运算被称为二值逻辑相对,只有 SQL 中的逻辑运算被称为三值逻辑。

4、对表进行聚合查询

4.1 聚合函数
SQL中用于汇总的函数叫做聚合函数。以下五个是最常用的聚合函数:

COUNT:计算表中的记录数(行数)
SUM:计算表中数值列中数据的合计值
AVG:计算表中数值列中数据的平均值
MAX:求出表中任意列中数据的最大值
MIN:求出表中任意列中数据的最小值
4.2 常用法则
COUNT函数的结果根据参数的不同而不同。COUNT()会得到包含NULL的数据行数,而COUNT(<列名>)会得到NULL之外的数据行数。
聚合函数会将NULL排除在外。但COUNT(
)例外,并不会排除NULL。
MAX/MIN函数几乎适用于所有数据类型的列。SUM/AVG函数只适用于数值类型的列。
想要计算值的种类时,可以在COUNT函数的参数中使用DISTINCT。
在聚合函数的参数中使用DISTINCT,可以删除重复数据。

5、对表进行分组

5.1 GROUP BY语句
之前使用聚合函数都是会整个表的数据进行处理,当你想将进行分组汇总时(即:将现有的数据按照某列来汇总统计),可以使用GROUP BY

6、对查询结果进行排序

GROUP BY书写位置
GROUP BY的子句书写顺序有严格要求,不按要求会导致SQL无法正常执行,目前出现过的子句书写****顺序为:

1**.**SELECT → 2. FROM → 3. WHERE → 4. GROUP BY

ORDER BY
SQL中的执行结果是随机排列的,当需要按照特定顺序排序时,可已使用ORDER BY子句。

ORDER BY中列名可使用别名
前文讲GROUP BY中提到,GROUP BY 子句中不能使用SELECT 子句中定义的别名,但是在 ORDER BY 子句中却可以使用别名。为什么在GROUP BY中不可以而在ORDER BY中可以呢?

这是因为SQL在使用 HAVING 子句时 SELECT 语句的执行****顺序为:

FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY

其中SELECT的执行顺序在 GROUP BY 子句之后,ORDER BY 子句之前。也就是说,当在ORDER BY中使用别名时,已经知道了SELECT设置的别名存在,但是在GROUP BY中使用别名时还不知道别名的存在,所以在ORDER BY中可以使用别名,但是在GROUP BY中不能使用别名****。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值