当前位置: 首页 > 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修改两处配置文件配置文件取…...

深入拆解ISP Pipeline:Tuning工程师如何像侦探一样排查图像问题?

深入拆解ISP Pipeline&#xff1a;Tuning工程师如何像侦探一样排查图像问题&#xff1f; 当一张照片出现偏色、噪点或细节丢失时&#xff0c;普通用户可能只会抱怨"拍得不好"&#xff0c;而ISP Tuning工程师看到的却是一个待解的谜题。就像侦探通过蛛丝马迹还原案件真…...

PaddlePaddle-GPU环境配置:为什么你的显卡总是被识别成CPU?(附解决方案)

PaddlePaddle-GPU环境配置&#xff1a;为什么你的显卡总是被识别成CPU&#xff1f;&#xff08;附解决方案&#xff09; 刚拿到新显卡准备大展拳脚&#xff0c;却发现PaddlePaddle死活不认GPU&#xff0c;这种挫败感我太懂了。明明花大价钱买的显卡&#xff0c;结果深度学习训…...

5分钟上手libhv:用自带httpd和curl工具快速搭建本地测试服务

5分钟实战libhv&#xff1a;零配置构建高效本地HTTP测试环境 第一次听说libhv时&#xff0c;我正被一个紧急的前后端联调任务逼得焦头烂额。当时需要快速搭建一个模拟API服务&#xff0c;但Node.js环境配置卡在了权限问题上&#xff0c;Python的SimpleHTTPServer又无法满足复杂…...

2026高性价比降AI工具盘点 高效过审适配全场景

一、摘要 据2026年学术服务行业调研数据显示&#xff0c;随着AIGC工具在写作场景的普及&#xff0c;国内各类文档的AI生成占比较上年提升35%&#xff0c;高校、科研机构及企业对AI生成内容的管控标准持续收紧。超过70%的用户曾遇到过降AI效果不稳定、收费偏高、检测不通过售后无…...

别再傻傻翻文档了!用这个API一键获取Prometheus里所有监控指标(附Node Exporter实战清单)

高效掌握Prometheus监控指标的实战指南 当你第一次登录到公司的Prometheus监控系统&#xff0c;面对成千上万的指标名称&#xff0c;是否感到无从下手&#xff1f;作为运维工程师&#xff0c;我们经常需要在短时间内理解一个全新系统的监控状况&#xff0c;而直接翻阅Exporter…...

MeteorSeed赐

这个代码的核心功能是&#xff1a;基于输入词的长度动态选择反义词示例&#xff0c;并调用大模型生成反义词&#xff0c;体现了 “动态少样本提示&#xff08;Dynamic Few-Shot Prompting&#xff09;” 与 “上下文长度感知的示例选择” 的能力。 from langchain.prompts imp…...

Cuvil如何让PyTorch推理成本直降42%?揭秘LLM服务中被忽略的编译器级TCO压缩术

第一章&#xff1a;Cuvil编译器在Python AI推理中的应用Cuvil 是一款面向AI推理场景设计的轻量级领域专用编译器&#xff08;DSL Compiler&#xff09;&#xff0c;专为将Python中基于NumPy/TensorFlow/PyTorch的模型前向逻辑高效编译为目标硬件指令而构建。它不替代完整框架&a…...

基于STM32LXXX的数字电位器(MCP4661-103E/ST)驱动应用程序设计

一、简介: MCP4661-103E/ST 是 Microchip 推出的双通道、8位(256抽头)数字电位器,采用 I2C 接口,阻值为10kΩ,内置 EEPROM 可掉电保存配置。 二、主要技术特性: 参数 值 通道数 2 (双通道) 电阻值 10 kΩ 抽头数 257 (8位分辨率,256步进) 接口类型 IC,标准模式100kHz…...

cfn-lint社区生态建设:参与贡献与获取支持的完整指南

cfn-lint社区生态建设&#xff1a;参与贡献与获取支持的完整指南 【免费下载链接】cfn-lint CloudFormation Linter 项目地址: https://gitcode.com/gh_mirrors/cf/cfn-lint cfn-lint 作为 AWS CloudFormation 模板的权威验证工具&#xff0c;拥有一个活跃的开源社区生态…...

基于VISSIM的城市道路交叉口信号控制研究

文章目录一、摘要二、交通控制的基本理论三、定时控制方案分析五、效果图源码获取一、摘要 随着全国机动车保有量的上升&#xff0c;城市道路的拥堵问题日益严重&#xff0c;优化道路交叉口信号控制是解决拥堵问题的关键。本文介绍了城市道路交叉口信号控制的研究现状&#xf…...