MySQL_DQL语句(查询语句以及常用函数)
基础查询
不带条件的查询查询多个字段
-  
语法:
#查询指定字段的数据 SELECT 字段1, 字段2, 字段3 ... FROM 表名 ; #查询表中全部字段的数据 SELECT * FROM 表名 ;-  
案例:查询表中所有信息数据
SELECT * FROM employee; -  
案例:查询表中姓名和性别这两个字段的信息
SELECT name,gender from employee; 
 -  
 
查询字段设置别名
-  
语法:
SELECT 字段1 [ AS 别名1 ] , 字段2 [ AS 别名2 ] ... FROM 表名; SELECT 字段1 [ 别名1 ] , 字段2 [ 别名2 ] ... FROM 表名;-  
案例:查询表中姓名和性别这两个字段的信息,并且给中文别名
SELECT name AS '姓名',gender AS '性别' FROM employee;  SELECT name '姓名1',gender '性别1' FROM employee; -  
注意:AS 是可以省略的
 
 -  
 
去除重复记录
-  
语法:使用一个关键字 DISTINCT
SELECT DISTINCT 字段列表 FROM 表名;-  
案例:查询员工的家庭住址(不要重复)
SELECT DISTINCT address FROM employee; 
 -  
 
基础查询的案例
-  
查询指定字段 name, age并返回
SELECT name,age FROM employee; -  
查询返回所有字段
SELECT * FROM employee; -  
查询所有员工的年龄,起别名
SELECT age '年龄' FROM employee; -  
查询公司员工的家庭地址有哪些(不要重复)
SELECT DISTINCT address FROM employee; 
条件查询
-  
语法:使用到 where 之后
SELECT 字段列表 FROM 表名 WHERE 条件列表 ; 
运算符
比较运算符

注意:
- java 中的等于是使用 == 而 mysql 中的等于直接使用 =
 - BETWEEN … AND … 范围包含最小值和最大值
 - IN(…) 属于括号后的子集
 - LIKE % 表示通配符
 - is null 表示空,非空 is not null
 
逻辑运算符

-  
案例:查询年龄小于20并且idcard 非空的
SELECT * FROM employee where age < 20 and idcard is not null; 
条件查询案例
-  
查询年龄等于 18 的员工
SELECT * FROM employee WHERE age = 18; -  
查询年龄小于 20 的员工信息
SELECT * FROM employee WHERE age < 20; -  
查询年龄大于等于 20 的员工信息
SELECT * FROM employee WHERE age >= 20; -  
查询没有身份证号的员工信息
SELECT * FROM employee WHERE idcard is null; -  
查询有身份证号的员工信息
SELECT * FROM employee WHERE idcard is not null; -  
查询年龄不等于 18 的员工信息
SELECT * FROM employee WHERE age != 18; -  
查询年龄在15岁(包含) 到 20岁(包含)之间的员工信息
SELECT * FROM employee WHERE age BETWEEN 15 AND 20;  SELECT * FROM employee WHERE age >= 15 and age <= 20;  SELECT * FROM employee WHERE age >= 15 && age <= 20; -  
查询性别为女且年龄小于 23岁的员工信息
SELECT * FROM employee WHERE age < 23 AND gender = '女'; -  
查询年龄等于18 或 20 或 40 的员工信息
SELECT * FROM employee WHERE age in(18,20,40);  SELECT * FROM employee WHERE age = 18 or age = 20 or age = 40; -  
查询姓名为两个字的员工信息 _ %
SELECT * FROM employee WHERE name like '__'; -  
查询身份证号最后一位是X的员工信息
SELECT * FROM employee WHERE idcard like '%X'; SELECT * FROM employee WHERE idcard like '_________________X'; 
常用聚合函数
- 语法:SELECT 聚合函数(字段列表) FROM 表名 ;将一列数据作为一个整体,进行纵向运算。
 

案例
-  
统计企业员工数量
SELECT COUNT(id) FROM employee -  
统计企业员工的平均年龄
SELECT AVG(age) FROM employee; -  
统计企业员工的最大年龄
SELECT MAX(age) FROM employee; -  
统计企业员工的最小年龄
SELECT MIN(age) FROM employee; -  
统计家庭是杭州员工的年龄之和
SELECT SUM(age) FROM employee WHERE address = '杭州'; 
分组查询
-  
语法(GROUP BY )
SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ]; -  
WHERE 和 HAVING 的区别
- 执行时间不同,WHERE 是分组之前执行,不参与分组,HAVING 是分组之后执行
 - 判断条件不同,WHERE 是不能对聚合函数做判断的,HAVING 是可以的。
 
 -  
注意:
- 分组之后,查询的字段一般为聚合函数和分组字段,查询其它其它字段没有意义;
 - 执行顺序:WHERE > 聚合函数 > HAVING
 - 可以支持多字段分组 GROUP BY COLUM1,COLUM2;
 
 
案例
-  
根据性别分组 , 统计男性员工 和 女性员工的数量
SELECT gender,count(id) from employee GROUP BY gender; -  
根据性别分组 , 统计男性员工 和 女性员工的平均年龄
SELECT gender,avg(age) from employee GROUP BY gender; -  
查询年龄小于45的员工 , 并根据家庭地址分组 , 获取员工数量大于等于3的家庭地址
SELECT address,count(*) numFROM employee WHERE age < 45GROUP BY address having num >= 3; -  
统计各个家庭地址上班的男性及女性员工的数量
SELECT gender,count(*) '数量',addressFROM employeeGROUP BY gender,address; 
排序查询
-  
语法(ORDER BY)
-  
排序方式
- 升序 ASC(默认就是升序)
 - 降序 DESC
 
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ;
 
 -  
 
案例
-  
根据年龄对公司的员工进行升序排序
SELECT * FROM employee ORDER BY age ; SELECT * FROM employee ORDER BY age ASC; -  
根据入职时间, 对员工进行降序排序
SELECT * FROM employee ORDER BY entrydate DESC; -  
根据年龄对公司的员工进行升序排序 , 年龄相同 , 再按照入职时间进行降序排序
SELECT * FROM employee ORDER BY age ASC,entrydate DESC; 
分页查询
-  
语法(LIMIT)
SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数 ; -  
注意:
-  
起始索引从0开始,起始索引 = (查询页码 -1 )* 每页显示的记录数
 -  
LIMIT 是MYSQL 中的实现
 -  
SQLServer中:
下面示例会跳过前 10 行,获取接下来的 5 行数据,实现分页查询。
 
 -  
 
SELECT ProductId, ProductName, Price
FROM Products
ORDER BY ProductId
OFFSET 10 ROWS
FETCH NEXT 5 ROWS ONLY;
 
- 如果只查第一页数据,起始索引是可以省略的,limit 5;
 
案例
-  
查询第1页员工数据, 每页展示 5 条记录
SELECT * FROM employee limit 0,5;  SELECT * FROM employee LIMIT 5; -  
查询第2页员工数据, 每页展示 5 条记录
#(查询页面 -1) * 页码显示数 SELECT * FROM employee LIMIT 5,5; 
执行优先级
        SELECT 
4           字段列表                            FROM
1           表名列表                            WHERE
2           条件列表                            GROUP BY
3           分组字段列表                         HAVING分组后条件列表                       ORDER BY
5           排序字段列表                        LIMIT
6           分页参数        
 
-  
案例验证
-  
查询年龄大于15的员工姓名、年龄,并根据年龄进行升序排序。
SELECT emp.name eName,emp.age eAge from employee emp WHERE emp.age > 15 GROUP BY eAge HAVING eAge >20 order by eAge limit 2; 
 -  
 -  
执行先后
from ... where ... group by ... having ... select ... order by ... limit 
相关文章:
MySQL_DQL语句(查询语句以及常用函数)
基础查询 不带条件的查询查询多个字段 语法: #查询指定字段的数据 SELECT 字段1, 字段2, 字段3 ... FROM 表名 ; #查询表中全部字段的数据 SELECT * FROM 表名 ;案例:查询表中所有信息数据 SELECT * FROM employee;案例:查询表中姓名和性别…...
一步步教你实现JWT认证和授权
一步步教你实现JWT认证和授权 前言一、引入二、Token认证与JWT认证的关系三、什么是JWT认证?四、JWT的组成1、头部(Header)2、载荷(Payload)3、签名(Signature) 五、JWT认证的工作流程六、代码举…...
【python 深度学习】解决遇到的问题
目录 一、RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb 二、AttributeError: module ‘tensorflow’ has no attribute ‘flags’ 三、conda 更新 Please update conda by running 四、to search for alternate channels that…...
maxwell 基于zookeeper的高可用方案
Maxwell版本1.39.2 一: 添加zk的pox文件 <!-- customize HA --> <dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>5.4.0</version> </dependency>&…...
【JavaScript】match用法 | 正则匹配
match正则匹配 var e "www.apple.com:baidu.com" var match e.match(/com/g) console.log("match: "match);> "match: com,com"match返回值问题 match的返回值是一个数组 数组的第0个元素是与整个正则表达式匹配的结果 数组的第1个元素是…...
前端css + js +vue +element-ui 实现响应式布局,根据浏览器窗体大小自动响应
前端css js vue element-ui 实现响应式布局,根据浏览器窗体大小自动响应 1、环境2、js代码3、代码解释1、定义对象2、定义方法3、监听窗口变化,计算比例值,并赋值给transform 属性4、实现监听 3、html 代码4、特别注意 1、环境 我的环境是e…...
小程序生成App:轻量低门槛的开发方式
小程序生成App可以成为一种轻量低门槛的开发App的方式,但是需要根据具体情况进行选择。如果应用需要处理大量数据或需要进行复杂计算,或者需要实现原生特有的功能或交互效果,可能需要选择其他开发方式。 在文章开始之前,我们看看目…...
Linux命名管道进程通信
文章目录 前言一、什么是命名管道通信二、创建方式三、代码示例四、文件进程通信总结 前言 命名管道 是实现进程间通信的强大工具,它提供了一种简单而有效的方式,允许不同进程之间进行可靠的数据交换。不仅可以在同一主机上的不相关进程间进行通信&…...
如何将苹果彻底删除视频找回?试试这3种方法
如今是短视频时代,大家通常会使用苹果手机来拍摄视频,以此记录生活中的美好日常。但是大家都知道视频是十分占空间的,这也经常会出现iPhone内存不足,磁盘崩溃的问题。 当遇到iPhone内存不足的情况时,大家往往会选择清…...
【音视频、chatGpt】h5页面最小化后,再激活后视频停住问题的解决
目录 现象 观察 解决 现象 页面有时候要切换,要最小化;短时间或者几个小时内切换回来,视频可以正常续上;而放置较长时间,几个小时或者一晚上,切换回来后,视频可能卡死 观察 切换页面&#x…...
[CSS] 图片九宫格
效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"/><meta http-equiv"X-UA-Compatible" content"IEedge"/><meta name"viewport" content"widthdevice-…...
MChat-Gpt V1.0.0 (将ChatGpt机器人接入内网供全体使用)
Github>https://github.com/MartinxMax/MChat-Gpt 首页 MChat-Gpt V1.0.0将ChatGpt机器人接入内网供全体使用 你需要一个ChatGpt账户如果您在中国则需要使用代理访问,设置TUN代理模式 安装依赖 选择你的系统进行安装 服务端配置 #python3 ChatGpt_Server.py -h 使用&a…...
日常开发中Git命令指北
Git基本操作 创建化仓库 mkdir 目录 cd 目录 git init配置本地仓库 # 配置用户名,邮箱 git config user.name "cxf" git config user.email "1969612859qq.com" # 查看本地配置(小写的 L) git config -l # 重置配置&a…...
API 测试 | 了解 API 接口概念|电商平台 API 接口测试指南
什么是 API? API 是一个缩写,它代表了一个 pplication P AGC 软件覆盖整个房间。API 是用于构建软件应用程序的一组例程,协议和工具。API 指定一个软件程序应如何与其他软件程序进行交互。 例行程序:执行特定任务的程序。例程也称…...
【计算机组成原理】24王道考研笔记——第三章 存储系统
第三章 存储系统 一、存储系统概述 现代计算机的结构: 1.存储器的层次结构 2.存储器的分类 按层次: 按介质: 按存储方式: 按信息的可更改性: 按信息的可保存性: 3.存储器的性能指标 二、主存储器 1.基本…...
学习C语言的好处:
基础编程语言:C语言是其他编程语言的基础,学习C语言可为后续学习打下坚实基础,广泛应用于嵌入式系统、操作系统、网络协议等。 简单易学:C语言语法简单易懂,适合初学者。只需文本编辑器和编译器,即可开始编…...
基于k8s的devOps自动化运维平台架构设计(中英文版本)
▲ 点击上方"DevOps和k8s全栈技术"关注公众号 In the rapidly evolving landscape of software development and IT operations, DevOps has emerged as a transformative approach to bridge the gap between development and operations teams. One of the key ena…...
P450进阶款无人机室内定位功能研测
在以往的Prometheus 450(P450)无人机上,我们搭载的是Intel Realsense T265定位模块,使用USB连接方式挂载到机载计算机allspark上,通过机载上SDK驱动T265运行并输出SLAM信息,以此来实现室内定位功能。 为进…...
深度学习,计算机视觉任务
目录 计算机视觉任务 1.K近邻算法 2.得分函数 3.损失函数的作用 4.向前传播整体流程 5.反向传播计算方法 计算机视觉任务 机器学习的流程: 数据获取 特征工程 建立模型 评估与应用 计算机视觉: 图像表示:计算机眼中的图像&#…...
使用 Docker 部署 canal 服务实现MySQL和ES实时同步
文章目录 0. 环境介绍0. 前置步骤1. 安装Kibana和Elasticsearch2. 安装Canal和Canal Adapter2.1 修改数据库配置2.1.1 修改配置2.1.2 验证mysql binlog配置2.1.3 查看日志文件2.1.4 用JDBC代码插入数据库 2.2 安装Canal Server2.3 安装Canal Adapter修改两处配置文件配置文件取…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
