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修改两处配置文件配置文件取…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...