前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >④【数据查询】MySQL查询语句,拿来即用。

④【数据查询】MySQL查询语句,拿来即用。

作者头像
.29.
发布2023-11-14 09:27:36
2110
发布2023-11-14 09:27:36
举报
文章被收录于专栏:个人技术博客

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~

在这里插入图片描述
在这里插入图片描述

④【数据查询】MySQL查询语句,拿来即用。

1. 语法编写顺序 以及 执行顺序

DQL - 语法(编写顺序)

代码语言:javascript
复制
SELECT
	字段列表
FROM
	表名列表
WHERE
	条件列表
GROUP BY
 	分组字段列表
HAVING
	分组后条件列表
ORDER BY
	排序字段列表 排序规则
LIMIT
	分页参数

执行顺序

代码语言:javascript
复制
FROM
	表名列表
WHERE
	条件列表
GROUP BY
 	分组字段列表
HAVING
	分组后条件列表
SELECT
	字段列表
ORDER BY
	排序字段列表 排序规则
LIMIT
	分页参数

查询表 ==> 分组前条件过滤 ==> 分组 ==> 分组后条件过滤 ==> 获取哪些字段 ==> 按照字段排序 ==> 分页显示


2. 基本查询

DQL - 基本查询

基本查询

①查询多个字段

代码语言:javascript
复制
SELECT 字段1,字段2,字段3... FROM 表名;
代码语言:javascript
复制
SELECT * FROM 表名;

②设置别名

代码语言:javascript
复制
SELECT 字段1[AS 别名1],字段2[AS 别名2]... FROM 表名;

③去除重复记录(DISTINCT关键字)

代码语言:javascript
复制
SELECT DISTINCT 字段1,字段2,字段3... FROM 表名;
代码语言:javascript
复制
SELECT DISTINCT * FROM 表名;

3. 条件查询

DQL - 条件查询

①根据条件查询字段

代码语言:javascript
复制
SELECT 字段列表 FROM 表名 WHERE 条件;

条件:

  • ①比较运算符:
  • >:大于
  • >=:大于等于
  • <:小于
  • <=:小于等于
  • =:等于
  • <>!=:不等于
  • BETWEEN...AND...:在某个范围以内(含最小、最大值)
  • IN(...):IN(…)括号内列表中的值,多选一
  • LIKE '占位符':模糊匹配(_匹配单个字符,%匹配任意个字符)
  • IS NULL:是NULL
  • ②逻辑运算符:
  • AND&&:并且(多个条件同时成立)
  • OR||:或者(多个条件任意一个成立)
  • NOT!:非,不是

4. 聚合函数

聚合函数

count():统计数量

max():求最大值

min():求最小值

avg():求平均值

sum():求和

注意:null值不参与所有聚合函数的运算。

使用聚合函数查询:

代码语言:javascript
复制
SELECT 聚合函数(字段列表) FROM 表名;
代码语言:javascript
复制
-- 演示:
-- 员工表,表名:emp

-- 统计emp员工表的员工数量
SELECT COUNT(*) FROM emp;

-- 统计员工的平均年龄,字段age表示年龄
SELECT AVG(age) FROM emp;

-- 统计员工的最大年龄
SELECT MAX(age) FROM emp;

-- 统计员工的最小年龄
SELECT MIN(age) FROM emp;

-- 统计广东地区员工的年龄之和
-- 地区字段:workaddress
SELECT SUM(age) FROM emp WHERE workaddress = '广东';

5. 分组查询

DQL - 分组查询

分组查询数据:

代码语言:javascript
复制
SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];

WHEREHAVING 区别:

  • 执行时机不同:where是分组之前进行过滤,不满足where的条件,不参与分组;而having是分组之后对结果进行过滤。
  • 判断条件不同:where不能使用聚合函数进行操作,而having可以
代码语言:javascript
复制
-- 演示

-- 根据性别分组,统计男性员工和女性员工的数量
-- 性别字段:sex
SELECT sex,COUNT(*) 
FROM emp 
GROUP BY sex;

-- 根据性别分组,统计男性员工和女性员工的平均年龄
-- 性别字段:sex;年龄字段:age
SELECT sex,AVG(age) 
FROM emp 
GROUP BY sex;

-- 查询年龄小于45岁的员工,根据工作地址分组,获取员工数量大于3的工作地址
SELECT workaddress,COUNT(*) 
WHERE age < 45
GROUP BY workaddress
HAVING COUNT(*) > 3;

6. 排序查询

DQL - 排序查询

查询并排序

代码语言:javascript
复制
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序规则1,字段2 排序规则2;

排序规则:

ASC —— 升序(默认值)

DESC —— 降序

若不指定排序规则,默认按照升序排序。

如果指定了多个排序字段,排序的数据只有当第一个字段值相同时,才会根据第二个字段进行排序。


7. 分页查询

DQL - 分页查询

对查询进行分页:

代码语言:javascript
复制
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

注意:

  • ①起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示的查询记录数
  • ②分页查询在不同的数据库中实现方式不同,MySQL是LIMIT
  • ③如果查询的是第一页数据,可以省略起始索引,直接LIMIT 10
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ④【数据查询】MySQL查询语句,拿来即用。
    • 1. 语法编写顺序 以及 执行顺序
      • 2. 基本查询
        • 3. 条件查询
          • 4. 聚合函数
            • 5. 分组查询
              • 6. 排序查询
                • 7. 分页查询
                相关产品与服务
                云数据库 MySQL
                腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档