mysql(二)

本文深入解析SQL查询的高级技巧,包括筛选条件、聚合与分组、子查询及链接查询等核心概念。从基础的等于、大于等于到复杂的模糊查询,再到统计、排序和去重,全面覆盖SQL查询的各个方面。通过实例讲解,帮助读者掌握如何运用这些技巧优化数据库查询效率。

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

  1. 筛选条件
  2. 聚会与分组
  3. 子查询
  4. 链接查询

1,筛选条件

等于

=

大于等于

>=

为空

is null

不等于

!= 或 <>

小于

< 

非空

is not null 

大于

>

小于等于

<=

逻辑运算符
and
或者 or
not

其它操作
排序

order by

加上desc 意思是逆序

取数据条数

limit 开始位置,结束位置

去重distinct
例子:select distinct subject_number from grades;

模糊查询 like
通配符 % (匹配任意多个字符)与 _(匹配任意单个字符)

2,聚合与分组

2.1聚合函数
  1. 统计个数
count 例子:select count(*) from students;
  1. 求和
sum 例子:select sum(age) from students;
  1. 最大值
max 例子:select max(age) from students;
  1. 最小值
min 例子:select min(age) from students;
  1. 平均值
avg 例子:select avg(age) from students;
  1. 字段全部值
    例举出该字段列的所有数据
group_concat  例子:select group_concat(age) from students;
2.2分组查询

在分组的情况下,只能够出现分组字段和聚合函数字段,其它字段没有意义,会报错

group by 
例子:
select subject_number from grades group by subject_number;  #(分组字段)
例子:
select count(*) from grades group by subject_number; #统计出每项分组的总数(聚合函数字段)
having 
#与where相差不远,但是having只允许出现在group by 后面
例子:
select count(*) from grades group by subject_number, grade  having grade > 80;

3,子查询

子查询需要取别名,查询语句 as 别名

4,链接查询

内连接

join
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值