03、DQL(数据查询语句)

news2024/9/24 21:24:45

目录

1、编写顺序

2、基本查询

3、条件查询

4、聚合函数

5、分组查询

6、排序查询

7、分页查询

8、执行顺序


1、编写顺序

SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后条件列表 ORDER BY 排序字段列表 LIMIT 分页参数

2、基本查询

查询多个字段

SELECT 字段1,字段2,字段3... FROM 表名

SELECT name,age,gender from emp

查询所有字段

SELECT * FROM 表名

SELECT * FROM emp

设置别名
SELECT 字段1 [AS 别名1],字段2[AS 别名2] ...FROM 表名

SELECT name AS '姓名' from emp

去除重复记录
SELECT DISTINCT 字段列表 FROM 表名

SELECT DISTINCT name FROM emp

3、条件查询

查询age等于5的数据

SELECT * FROM emp WHERE age = 5

查询age小于5的数据

SELECT * FROM emp WHERE age < 5

查询age大于等于5的数据

SELECT * FROM emp WHERE age >= 5

查询age不等于5的数据

SELECT * FROM emp WHERE age <> 5
-- 或者
SELECT * FROM emp WHERE age != 5

查询age为空的数据

SELECT * FROM emp WHERE age IS NULL

查询age不为空的数据

SELECT * FROM emp WHERE age IS NOT NULL

查询age在3(包含) 到7(包含)之间的数据

SELECT * FROM emp WHERE age >= 3 && age <= 7
-- 或者
SELECT * FROM emp WHERE age >= 3 AND age <= 7
-- 或者
SELECT * FROM emp WHERE age BETWEEN 3 AND 7

查询name为3且age小于5的数据

SELECT * FROM emp WHERE name = 3 && age < 5

查询age等于3或5或7的数据

SELECT * FROM emp WHERE age = 3 OR age = 5 OR age = 7
-- 或者
SELECT * FROM emp WHERE age in(3,5,7)

查询detail为2个字的数据

SELECT * FROM emp WHERE detailLIKE '__'

查询detail最后以为是1的数据

SELECT * FROM emp WHERE detail LIKE '%1'

4、聚合函数

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

统计数据的数量

SELECT COUNT(*) from emp

统计age的平均值

SELECT AVG(age) from emp

获取age的最小值

SELECT MIN(age) from emp

获取age的最大值

SELECT MAX(age) from emp

5、分组查询

 查询语句:

SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件]

WHERE和HAVING区别

  1. 执行时机不同:WHERE是分组之前进行顾虑 不满足WHERE条件 不参与分组;而HAVING是分组之后对结果进行过滤
  2. 判断条件不同:WHERE不能对聚合函数进行判断,二HAVING可以

根据性别分组 统计男性员工和女性员工的数量

SELECT gender, COUNT(*) from emp GROUP BY gender

根据性别分组 统计男性员工和女性员工的平均年龄

SELECT gender,AVG(age) from emp GROUP BY gender

查询年龄大于5的员工 并根据detail进行分组 获取员工数量大于等于2的detail

SELECT test '地址',COUNT(*) '数量' from emp WHERE age > 5 GROUP BY detail HAVING COUNT(*) >= 2

6、排序查询

查询语句 :

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2

排序方式:

  1. ASC:升序(默认值)
  2. DESC:降序

注意:如果是多字段排序 当第一个字段值相同时 才会根据第二个字段进行排序

根据age对数据进行升序排序

SELECT age from emp ORDER BY age ASC

根据age对数据进行升序排序 如果age相同 再按照idcard进行降序排序

SELECT * from emp ORDER BY age ASC,idcard DESC

7、分页查询

查询语句:

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条数

注意:

  1. 起始索引从0开始 起始索引=(查询页码-1)*每页显示记录数
  2. 分页查询是数据库中的方言 不同的数据库有不同的实现 mysql中是LIMIT
  3. 如果查询的是第一页的数据 起始索引可以省略 直接简写为limit 3

查询第1页的数据 每页展示3条记录

SELECT * from emp LIMIT 0,3

查询第2页的数据 每页展示3条记录

SELECT * from emp LIMIT 3,3

8、执行顺序

 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后条件列表 SELECT 字段列表 ORDER BY 排序字段列表 LIMIT 分页参数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1981683.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手写chatGPT——fetch解析text/event-stream会话流并逐字回显到页面——js技能提升

直接上效果图&#xff1a; 页面分上下两部分&#xff0c;上面是会话界面&#xff0c;底部是提交框。 直接上代码&#xff1a; 解决步骤1&#xff1a;引入vueelementUi <head><meta charset"UTF-8" /><title>Fetch Stream Example</title>…

【java计算机毕设】社团管理系统MySQL springboot vue maven项目设计源码代码+文档 前后端可分离也可不分离

目录 1项目功能 2项目介绍 3项目地址 1项目功能 【java计算机毕设】社团管理系统MySQL springboot vue maven项目设计源码代码文档 前后端可分离也可不分离 2项目介绍 系统功能&#xff1a; 社团管理系统包括管理员、团长、学生三种角色。 管理员功能包括个人中心模块用于修…

ElasticSearch集成webFlux响应式开发

目录 前言 1.Weflux特点&#xff1a; 2.WebFlux简单集成ElasticSearch 2.1 引入基本依赖模块 3.application.yml文件的配置 4.定义Product实体类 5.定义ElasticSearch的数据访问层接口 6.定义Controller 7.启动SpringBoot程序&#xff0c;用postman进行接口测试 前言 We…

mysql的 undo log、redo log、bin log、buffer pool

文章目录 Buffer Pool为什么需要Buffer PoolBuffer Pool 缓存了什么 Redo log为什么需要 redo log&#xff1f;redo log 什么时候刷盘&#xff1f;redo log 文件写满了怎么办&#xff1f; undo log 本文章内容都来自小林coding博主&#xff0c;基于他的文章内容&#xff0c;加一…

保研408真题练习:2010年全国硕士研究生入学统一考试(单选篇1)

&#x1f9ca;&#x1f9ca;&#x1f9ca;单项选择题&#xff08;共40道&#xff09; &#x1f9ca;数据结构&#xff08;11道&#xff09; &#x1f965;1.2.考察的都是栈和队列的入栈&#xff08;队&#xff09;出栈&#xff08;队&#xff09;问题 这道题目重点是掌握各种…

linux网络编程(2)

什么是多线程服务器&#xff1f; 先认识什么是单线程服务器 就是服务器只处理一个客户端信息。 多线程服务器类似的&#xff0c;就是处理很多个客户端的信息。 多进程服务器的核心理念 使用while循环&#xff0c;让服务器一直处于接收状态&#xff0c;每接收到一个客户端&am…

翰德恩赋能新能源龙头企业硬件敏捷研发

该企业始创于1984年&#xff0c;是全球知名的智慧能源系统解决方案提供商。创立40年来&#xff0c;形成了集“发电、储电、输电、变电、配电、售电、用电”为一体的全产业链优势&#xff0c;业务遍及140多个国家和地区&#xff0c;拥有4大全球研发中心&#xff0c;建立6大国际营…

Ldap未授权访问漏洞

LDAP中文全称为&#xff1a;轻型目录访问协议&#xff08;Lightweight Directory Access Protocol&#xff09;&#xff0c;默认使用389&#xff0c; LDAP 底层一般使用 TCP 或 UDP 作为传输协议。目录服务是一个特殊的数据库&#xff0c;是一种以树状结构的目录数据库为基础。…

药厂子母钟系统,强抗干扰能力,满足复杂生产环境

在制药行业中&#xff0c;精确的时间同步对于确保药品生产的质量和合规性至关重要。药厂子母钟系统作为一种高度可靠的时间同步解决方案&#xff0c;不仅能够提供准确的时间信息&#xff0c;还具有强大的抗干扰能力&#xff0c;非常适合在复杂的生产环境中使用。本文将详细介绍…

登录注册功能开发

本篇文章记录怎么实现一个简单的登陆注册功能。 讲解里的代码是不完全的&#xff0c;具体的代码我会放在文章最后 文章目录 准备为什么要有登录&#xff1a;简述注册功能&#xff1a;简述登录功能完全代码&#xff1a;数据实体部分&#xff1a;Users类&#xff1a;UsersLoginD…

ME31L-创建计划协议

ME31L创建计划协议 一般常用的就是LA和LPA LP不需要审批&#xff0c;LPA需要审批。 计划协议和采购申请实现的功能相同。 计划协议创建界面和创建合同的界面相同。 ME38可以分配交货计划行。 输入计划协议号。回车。 双击行项目后&#xff0c;维护行项目字段。 然后可以在货…

一个线程在sleep的时候set一个信号会起作用吗

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

代码随想录第29天|贪心

134.加油站 代码随想录 代码随想录 索引01234gas12345cost34512 计算每个加油站的剩余油量&#xff0c;累计sum&#xff0c;一旦<0就从下一个重新计数。 我还没理解为什么我们不需要计算环路的sum&#xff0c;而是只需要遍历一次。 因为使用了两个变量&#xff1a;curSu…

Java ExecutorService:你真的了解它吗?

文章目录 一、什么是ExecutorService&#xff1f;二、ExecutorService的核心功能三、如何创建和使用ExecutorService&#xff1f; 时光匆匆&#xff0c;又来到另一个里程碑&#xff0c;感谢粉丝们的陪伴&#xff0c;有你们真好~ 不水文啦&#xff0c;一起加油叭~ 一、什么是Exe…

【Java】Jsoup 解析HTML报告

一、需求背景 有好几种报告文件&#xff0c;目前是人肉找报告信息填到Excel上生成统计信息 跟用户交流了下需求和提供的几个文件&#xff0c;发现都是html文件 其实所谓的报告的文件&#xff0c;就是一些本地可打开的静态资源&#xff0c;里面也有js、img等等 二、方案选型 前…

adb环境变量配置(附详细图解)

adb环境变量配置&#xff08;附详细图解&#xff09; 1、找到ADB工具的位置。通常&#xff0c;如果你Android Studio已经安装了Android SDK&#xff0c;ADB工具位于SDK的platform-tools目录下。我这里的目录是C:\Users\user\AppData\Local\Android\Sdk\platform-tools\adb.exe…

微信防封指南请收好

一、新号与老号的添加限制 建议新注册的微信号主动添加好友的数量不宜过多&#xff0c;推荐每日添加不超过5个好友&#xff1b;对于老号&#xff0c;建议每日添加不超过20个好友。保持适度的添加速度&#xff0c;避免被系统判定为异常操作。 二、避免使用营销性词汇 在发送消…

【计算机视觉】图像处理基本知识

一 基本的图像操作和处理 1.1 PIL&#xff1a;Python图像处理类库 PIL&#xff08;Python Imaging Library&#xff0c;图像处理库&#xff09;提供了通用的图像处理功能&#xff0c;以及大量有用的基本图像操作。PIL库已经集成在Anaconda库中&#xff0c;推荐使用Anaconda&a…

openmetadata自定义连接器开发教程

openmetadata自定义连接器开发教程 一、开发通用自定义连接器教程 官网教程链接&#xff1a; 1.https://docs.open-metadata.org/v1.3.x/connectors/custom-connectors 2.https://github.com/open-metadata/openmetadata-demo/tree/main/custom-connector &#xff08;一&…

【ARM】SMMU系统虚拟化(3)_ VMSAv8-64 address translation stages

讲解颗粒度granule size如何影响地址转换的过程&#xff1a; 对于每个颗粒度来说&#xff1a; 输入的地址范围如何影响起始的lookup levels。对于stage2 转换来说&#xff0c;给链接的转换页表造成的可能的影响。TTBR 地址和indexing对于起始的lookup 1.以4KB的translation g…