DQL查询大全,掌握核心,掌握要点

本文介绍了SQL的基础查询语法,包括选择字段、条件过滤、排序、分组及聚合函数的使用。通过实例展示了如何查询姓马的学生、按条件排序、计算平均分等操作。此外,还讲解了分页查询的实现方式以及`WHERE`和`HAVING`子句的区别。文章深入浅出地阐述了SQL查询的关键概念和技术。

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

img

		💖大家好,我是Cx_330是💥

🎐DQL

SELECT
字段列表

FROM
表名列表

WHERE
条件列表

GROUP BY
分组字段

HAVING
分组后条件

ORDER BY
排序字段

LIMIT
分页限定

🎑-- 先添加一些数据

-- 删除stu表
drop table if exists stu;
-- 创建stu表
CREATE TABLE stu (
id int, -- 编号
name varchar(20), -- 姓名
age int, -- 年龄
sex varchar(5), -- 性别
-- 添加数据
INSERT INTO stu(id,NAME,age,sex,address,math,english,hire_date)
VALUES
(1,'马运',55,'男','杭州',66,78,'1995-09-01'),
(2,'马花疼',45,'女','深圳',98,87,'1998-09-01'),
(3,'马斯克',55,'男','香港',56,77,'1999-09-02'),
(4,'柳白',20,'女','湖南',76,65,'1997-09-05'),
(5,'柳青',20,'男','湖南',86,NULL,'1998-09-01'),
(6,'刘德花',57,'男','香港',99,99,'1998-09-01'),
(7,'张学右',22,'女','香港',99,99,'1998-09-01'),
(8,'德玛西亚',18,'男','南京',56,65,'1994-09-02');

🧧基础查询

  • 方便书写取 字段名称:age 表明为 t

查询多个字段:select age from t

去除重复记录:select distinct age from t

起别名 as (可以省略 中间至少一个空格) select age as 年龄 from t

🧧条件查询

select age from t where age >30

常用的条件运算符:  
<>不等于
between and...... 之间
In(...)  在多个范围之间
like 模糊查询  熟练理解  _  %  的作用
and   or  !

🎢🎢🎢🎢🎢

姓马的名字:        select * from t where name like '马%'
第二个是花的名字:  select * from t where name like '_花%'
包含德的名字:	     select * from t where name like '%德%'

🧧排序查询

select * from t order by age;默认升序

select * from t order by age,score desc;当age一样时,才会进行score排序

🧧聚合函数

count(age)

max(age)

min(age)

sum(age)

avg(age)

select sum(seore) from t;

⚽null值不参与所有聚合函数的运算⚽

  • 🎭查询男女生数学平均分

    select sex,avg(math) from t group by sex;
    
  • 🎭查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组,分组之后人数大于2个的

    select sex,avg(math),count(*) from t where math>70 group by sex having (count*)>2;
    

👕 where和having区别

  • 执行时机不同:where在分组前,having在分组后
  • 可判断条件不同:where不能判断聚合函数,having可以,因为执行时机不同

🧧分页查询

select age from t limit 起始索引(0开始) , 查询条目数

  🎡起始索引 = (当前页码 - 1) * 每页显示的条数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C_x_330

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值