当前位置: 首页 > news >正文

MySQL_DQL语句(查询语句以及常用函数)

基础查询

不带条件的查询查询多个字段

  1. 语法:

    #查询指定字段的数据
    SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;  
    #查询表中全部字段的数据
    SELECT * FROM 表名 ;
    
    • 案例:查询表中所有信息数据

      SELECT * FROM employee;
      
    • 案例:查询表中姓名和性别这两个字段的信息

      SELECT name,gender from employee;
      

查询字段设置别名

  1. 语法:

    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 是可以省略的

去除重复记录

  1. 语法:使用一个关键字 DISTINCT

    SELECT DISTINCT 字段列表 FROM 表名;
    
    • 案例:查询员工的家庭住址(不要重复)

      SELECT DISTINCT address FROM employee; 
      

基础查询的案例

  1. 查询指定字段 name, age并返回

    SELECT name,age FROM employee;
    
  2. 查询返回所有字段

    SELECT * FROM employee;
    
  3. 查询所有员工的年龄,起别名

    SELECT age '年龄' FROM employee;
    
  4. 查询公司员工的家庭地址有哪些(不要重复)

    SELECT DISTINCT address FROM employee;
    

条件查询

  1. 语法:使用到 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';
    

常用聚合函数

  1. 语法: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 = '杭州';
    

分组查询

  1. 语法(GROUP BY )

    SELECT 字段列表 FROM 表名 [ WHERE 条件  ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ];
    
  2. WHERE 和 HAVING 的区别

    • 执行时间不同,WHERE 是分组之前执行,不参与分组,HAVING 是分组之后执行
    • 判断条件不同,WHERE 是不能对聚合函数做判断的,HAVING 是可以的。
  3. 注意:

    • 分组之后,查询的字段一般为聚合函数和分组字段,查询其它其它字段没有意义;
    • 执行顺序: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; 
    

排序查询

  1. 语法(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;
    

分页查询

  1. 语法(LIMIT)

    SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数 ;
    
  2. 注意:

    • 起始索引从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语句(查询语句以及常用函数)

基础查询 不带条件的查询查询多个字段 语法&#xff1a; #查询指定字段的数据 SELECT 字段1, 字段2, 字段3 ... FROM 表名 ; #查询表中全部字段的数据 SELECT * FROM 表名 ;案例&#xff1a;查询表中所有信息数据 SELECT * FROM employee;案例&#xff1a;查询表中姓名和性别…...

一步步教你实现JWT认证和授权

一步步教你实现JWT认证和授权 前言一、引入二、Token认证与JWT认证的关系三、什么是JWT认证&#xff1f;四、JWT的组成1、头部&#xff08;Header&#xff09;2、载荷&#xff08;Payload&#xff09;3、签名&#xff08;Signature&#xff09; 五、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 一&#xff1a; 添加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 实现响应式布局&#xff0c;根据浏览器窗体大小自动响应 1、环境2、js代码3、代码解释1、定义对象2、定义方法3、监听窗口变化&#xff0c;计算比例值&#xff0c;并赋值给transform 属性4、实现监听 3、html 代码4、特别注意 1、环境 我的环境是e…...

小程序生成App:轻量低门槛的开发方式

小程序生成App可以成为一种轻量低门槛的开发App的方式&#xff0c;但是需要根据具体情况进行选择。如果应用需要处理大量数据或需要进行复杂计算&#xff0c;或者需要实现原生特有的功能或交互效果&#xff0c;可能需要选择其他开发方式。 在文章开始之前&#xff0c;我们看看目…...

Linux命名管道进程通信

文章目录 前言一、什么是命名管道通信二、创建方式三、代码示例四、文件进程通信总结 前言 命名管道 是实现进程间通信的强大工具&#xff0c;它提供了一种简单而有效的方式&#xff0c;允许不同进程之间进行可靠的数据交换。不仅可以在同一主机上的不相关进程间进行通信&…...

如何将苹果彻底删除视频找回?试试这3种方法

如今是短视频时代&#xff0c;大家通常会使用苹果手机来拍摄视频&#xff0c;以此记录生活中的美好日常。但是大家都知道视频是十分占空间的&#xff0c;这也经常会出现iPhone内存不足&#xff0c;磁盘崩溃的问题。 当遇到iPhone内存不足的情况时&#xff0c;大家往往会选择清…...

【音视频、chatGpt】h5页面最小化后,再激活后视频停住问题的解决

目录 现象 观察 解决 现象 页面有时候要切换&#xff0c;要最小化&#xff1b;短时间或者几个小时内切换回来&#xff0c;视频可以正常续上&#xff1b;而放置较长时间&#xff0c;几个小时或者一晚上&#xff0c;切换回来后&#xff0c;视频可能卡死 观察 切换页面&#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配置本地仓库 # 配置用户名&#xff0c;邮箱 git config user.name "cxf" git config user.email "1969612859qq.com" # 查看本地配置&#xff08;小写的 L&#xff09; git config -l # 重置配置&a…...

API 测试 | 了解 API 接口概念|电商平台 API 接口测试指南

什么是 API&#xff1f; API 是一个缩写&#xff0c;它代表了一个 pplication P AGC 软件覆盖整个房间。API 是用于构建软件应用程序的一组例程&#xff0c;协议和工具。API 指定一个软件程序应如何与其他软件程序进行交互。 例行程序&#xff1a;执行特定任务的程序。例程也称…...

【计算机组成原理】24王道考研笔记——第三章 存储系统

第三章 存储系统 一、存储系统概述 现代计算机的结构&#xff1a; 1.存储器的层次结构 2.存储器的分类 按层次&#xff1a; 按介质&#xff1a; 按存储方式&#xff1a; 按信息的可更改性&#xff1a; 按信息的可保存性&#xff1a; 3.存储器的性能指标 二、主存储器 1.基本…...

学习C语言的好处:

基础编程语言&#xff1a;C语言是其他编程语言的基础&#xff0c;学习C语言可为后续学习打下坚实基础&#xff0c;广泛应用于嵌入式系统、操作系统、网络协议等。 简单易学&#xff1a;C语言语法简单易懂&#xff0c;适合初学者。只需文本编辑器和编译器&#xff0c;即可开始编…...

基于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&#xff08;P450&#xff09;无人机上&#xff0c;我们搭载的是Intel Realsense T265定位模块&#xff0c;使用USB连接方式挂载到机载计算机allspark上&#xff0c;通过机载上SDK驱动T265运行并输出SLAM信息&#xff0c;以此来实现室内定位功能。 为进…...

深度学习,计算机视觉任务

目录 计算机视觉任务 1.K近邻算法 2.得分函数 3.损失函数的作用 4.向前传播整体流程 5.反向传播计算方法 计算机视觉任务 机器学习的流程&#xff1a; 数据获取 特征工程 建立模型 评估与应用 计算机视觉&#xff1a; 图像表示&#xff1a;计算机眼中的图像&#…...

使用 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数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长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 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...