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修改两处配置文件配置文件取…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
