SQL基础查询与排序-天池龙珠计划SQL训练营-笔记

本文介绍了SQL的基础查询方法,包括从表中选择数据、使用条件筛选数据、算数及比较运算符的应用。此外,还详细讲解了逻辑运算符、聚合查询、分组查询以及排序等功能,并提供了实际操作示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



1. SELECT语句基础

1.1 从表中选取数据

根据选出所有行
select <列名>,from <表名>

1.2从表中选取符合条件的数据

需要用到where 语句,对加入约束, 从句语法
select <list_name>, …
from <table_name>
where <condition_>;

1.3相关法则

  • 星号(*) 代表全部。
  • 汉语别名用双括号
  • 一行注释 “–” 多行注释 ‘/* */’
  • select distinct 删除重复行

2. 算数运算符和比较运算符

2.1 算数运算符

  • 常数使用‘’ 与字符串的引号不同
  • +,-,*,/

2.2 比较运算符

在这里插入图片描述
注意不相等符号。NULL不可用来比大小吗,而是用逻辑判断 is, is not。

3. 逻辑运算符

  • and or not
  • NULL 数据不知道真假 结果为YNKNOWN
  • and 优先级高于or ,使用括号优先处理

4. 聚合查询

聚合的是行

  • count 计算行数 不会将NULL排除在外,其他会
  • sum
  • avg
  • max
  • min

使用语法:
select function(<list_name>)
from <table_name>;
除去重复值:
select function( distinct<list_name>)
from <table_name>;

5.对表进行分组

5.1group by 语句

在未使用之前,聚合函数是对单列进行独立操作,分组之后(按照列的具体值分组),是对单列分组操作。NULL作为一组特殊值进行处理。
如图所示:
在这里插入图片描述

5.2 GROUP BY书写位置以及常见错误

严格!
select from where group by

  • 在聚合函数的SELECT子句中写了聚合健以外的列 使用COUNT等聚合函数时,SELECT子句中如果出现列名,只能是GROUP BY子句中指定的列名(也就是聚合键)
  • 在GROUP BY子句中使用列的别名 SELECT子句中可以通过AS来指定别名,但在GROUP BY中不能使用别名。因为在DBMS中 ,SELECT子句在GROUP BY子句后执行。
  • 在WHERE中使用聚合函数 原因是聚合函数的使用前提是结果集已经确定,而WHERE还处于确定结果集的过程中,所以相互矛盾会引发错误。 如果想指定条件,可以在SELECT,HAVING(下面马上会讲)以及ORDER BY子句中使用聚合函数。
  • 实践中总结

6. 为聚合结果指定条件

在这里插入图片描述
where只能指定行的条件,不能指定组的条件,因此又和having。 在group by之后使用。
SELECT product_type, COUNT(*)
FROM product
GROUP BY product_type
HAVING product_name = ‘圆珠笔’;

7. 对查询结果进行排序

  • select from order by
  • select from order by desc
  • FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值