MySQL DQL语言的笔记
DQL语言的学习进阶1基础查询语法SELECT 要查询的东西【FROM 表名】;类似于Java中 :System.out.println(要打印的东西);特点①通过select查询完的结果 是一个虚拟的表格不是真实存在② 要查询的东西 可以是常量值、可以是表达式、可以是字段、可以是函数进阶2条件查询条件查询根据条件过滤原始表的数据查询到想要的数据语法select要查询的字段|表达式|常量值|函数from表where条件 ;分类一、条件表达式示例salary10000条件运算符 ! 二、逻辑表达式示例salary10000 salary20000逻辑运算符and:两个条件如果同时成立结果为true否则为falseor(||)两个条件只要有一个成立结果为true否则为falsenot(!)如果条件成立则not后为false否则为true三、模糊查询示例last_name like a%进阶3排序查询语法select要查询的东西from表where条件order by 排序的字段|表达式|函数|别名 【asc|desc】进阶4常见函数一、单行函数1、字符函数concat拼接substr截取子串upper转换成大写lower转换成小写trim去前后指定的空格和字符ltrim去左边空格rtrim去右边空格replace替换lpad左填充rpad右填充instr返回子串第一次出现的索引length 获取字节个数2、数学函数round 四舍五入rand 随机数floor向下取整ceil向上取整mod取余truncate截断3、日期函数now当前系统日期时间curdate当前系统日期curtime当前系统时间str_to_date 将字符转换成日期date_format将日期转换成字符4、流程控制函数if 处理双分支case语句 处理多分支情况1处理等值判断情况2处理条件判断5、其他函数version版本database当前库user当前连接用户二、分组函数sum 求和max 最大值min 最小值avg 平均值count 计数特点1、以上五个分组函数都忽略null值除了count(*)2、sum和avg一般用于处理数值型max、min、count可以处理任何数据类型3、都可以搭配distinct使用用于统计去重后的结果4、count的参数可以支持字段、*、常量值一般放1建议使用 count(*)进阶5分组查询语法select 查询的字段分组函数from 表group by 分组的字段特点1、可以按单个字段分组2、和分组函数一同查询的字段最好是分组后的字段3、分组筛选针对的表 位置 关键字分组前筛选 原始表 group by的前面 where分组后筛选 分组后的结果集 group by的后面 having4、可以按多个字段分组字段之间用逗号隔开5、可以支持排序6、having后可以支持别名进阶6多表连接查询笛卡尔乘积如果连接条件省略或无效则会出现解决办法添加上连接条件一、传统模式下的连接 等值连接——非等值连接1.等值连接的结果 多个表的交集2.n表连接至少需要n-1个连接条件3.多个表不分主次没有顺序要求4.一般为表起别名提高阅读性和性能二、sql99语法通过join关键字实现连接含义1999年推出的sql语法支持等值连接、非等值连接 内连接外连接交叉连接语法select 字段...from 表1【inner|left outer|right outer|cross】join 表2 on 连接条件【inner|left outer|right outer|cross】join 表3 on 连接条件【where 筛选条件】【group by 分组字段】【having 分组后的筛选条件】【order by 排序的字段或表达式】好处语句上连接条件和筛选条件实现了分离简洁明了三、自连接案例查询员工名和直接上级的名称SELECT e.last_name,m.last_name FROM employees eSELECT e.last_name,m.last_name FROM employees e,employees m进阶7子查询含义一条查询语句中又嵌套了另一条完整的select语句其中被嵌套的select语句称为子查询或内查询在外面的查询语句称为主查询或外查询特点1、子查询都放在小括号内2、子查询可以放在from后面、select后面、where后面、having后面但一般放在条件的右侧3、子查询优先于主查询执行主查询使用了子查询的执行结果4、子查询根据查询结果的行数不同分为以下两类① 单行子查询结果集只有一行一般搭配单行操作符使用 非法使用子查询的情况a、子查询的结果为一组值b、子查询的结果为空② 多行子查询结果集有多行一般搭配多行操作符使用any、all、in、not inin 属于子查询结果中的任意一个就行any和all往往可以用其他查询代替进阶8分页查询应用场景实际的web项目中需要根据用户的需求提交对应的分页查询的sql语句语法select 字段|表达式,...from 表【where 条件】【group by 分组字段】【having 条件】【order by 排序的字段】limit 【起始的条目索引】条目数;特点1.起始条目索引从0开始2.limit子句放在查询语句的最后3.公式select * from 表 limit page-1*sizePerPage,sizePerPage假如:每页显示条目数sizePerPage要显示的页数 page进阶9联合查询引入union 联合、合并语法select 字段|常量|表达式|函数 【from 表】 【where 条件】 union 【all】select 字段|常量|表达式|函数 【from 表】 【where 条件】 union 【all】select 字段|常量|表达式|函数 【from 表】 【where 条件】 union 【all】.....select 字段|常量|表达式|函数 【from 表】 【where 条件】特点1、多条查询语句的查询的列数必须是一致的2、多条查询语句的查询的列的类型几乎相同3、union代表去重union all代表不去重基础查询一、语法select查询列表from表名;二、特点1、查询列表可以是字段、常量、表达式、函数也可以是多个2、查询结果是- -个虚拟表三、示例1、查询单个字段select字段名from 表名;2、查询多个字段select字段名,字段名from表名;3、查询所有字段select * from表名4、查询常量select常量值;注意:字符型和日期型的常量值必须用单引号引起来数值型不需要5、查询函数select函数名(实参列表) ;6、查询表达式select 100/1234;7、起别名①as②空格8、去重select distinct字段名from 表名:9、作用:做加法运算select数值数值;直接运算select字符数值;先试图将字符转换成数值,如果转换成功则继续运算;否则转换成0,再做运算select nul1值;结果都为null10、[补充] concat函数功能:拼接字符select concat(字符1,字符2,字符...:11、[补充] ifnul1函数功能:判断某字段或表达式是否为null,如果为null返回指定的值否则返回原本的值select ifnull (comission. pct,0) from employees;12、[补充] isnu11函数功能:判断某字段或表达式是否为null,如果是则返回1,否则返回0条件查询一、语法select查询列表from表名where筛选条件二、筛选条件的分类1、简单条件运算符 ! 安全等于2、逻辑运算符 and|I or! not3、模糊查询like:一般搭配通配符使用可以判断字符型或数值型通配符: %任意多个字符_任意单个字符between andinis null /is not mull:用于判断nul1值is null PK 普通类型的数值 null值 可读性is null 否 是 是 是 是 否

相关新闻

MySQL DML语言笔记

MySQL DML语言笔记

DML语言插入语法:insert into 表名(字段名,...)特点:1、字段类型和值类型一致或兼容,而且一一对应2、可以为空的字段,可以不用插入值,或用null填充3、不可以为空的字段,必须插入值4、字段个数和…

2026/7/16 18:04:14 阅读更多 →
Gemma-4-e4b-it-mxfp8模型微调指南:自定义数据集训练技巧

Gemma-4-e4b-it-mxfp8模型微调指南:自定义数据集训练技巧

Gemma-4-e4b-it-mxfp8模型微调指南:自定义数据集训练技巧 【免费下载链接】gemma-4-e4b-it-mxfp8 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/gemma-4-e4b-it-mxfp8 在当今AI快速发展的时代,Gemma-4-e4b-it-mxfp8模型为开发者和…

2026/7/16 17:54:12 阅读更多 →
【AI Agent 入门黄金72小时】:零基础开发者必须掌握的5大核心范式与3个避坑红线

【AI Agent 入门黄金72小时】:零基础开发者必须掌握的5大核心范式与3个避坑红线

更多请点击: https://codechina.net 第一章:AI Agent 入门黄金72小时:认知重塑与学习路径规划 AI Agent 不是“更聪明的脚本”,而是具备目标驱动、感知-决策-行动闭环、工具调用与记忆演化的自主系统。黄金72小时的核心任务&…

2026/7/16 17:52:12 阅读更多 →

最新新闻

Madmin测试策略:如何编写健壮的Admin界面测试

Madmin测试策略:如何编写健壮的Admin界面测试

Madmin测试策略:如何编写健壮的Admin界面测试 【免费下载链接】madmin A robust Admin Interface for Ruby on Rails apps 项目地址: https://gitcode.com/gh_mirrors/ma/madmin Madmin是一个为Ruby on Rails应用程序设计的强大管理界面,它提供了…

2026/7/16 18:52:31 阅读更多 →
前端事件驱动架构:从 CustomEvent 到消息总线的工程化落地

前端事件驱动架构:从 CustomEvent 到消息总线的工程化落地

前端事件驱动架构:从 CustomEvent 到消息总线的工程化落地 一、组件解耦的困境:当 props drilling 撞上复杂度天花板 在组件化架构中,跨层级通信是一个经典难题。父组件向子组件传值用 props,子组件向父组件通信靠回调——这在组件…

2026/7/16 18:52:31 阅读更多 →
Python通达信数据接口终极指南:免费高效获取A股实时行情

Python通达信数据接口终极指南:免费高效获取A股实时行情

Python通达信数据接口终极指南:免费高效获取A股实时行情 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在金融数据分析和量化交易领域,获取高质量、实时的A股市场数据一直…

2026/7/16 18:52:31 阅读更多 →
RAG-Anything高级扩展框架深度解析:构建企业级多模态处理引擎

RAG-Anything高级扩展框架深度解析:构建企业级多模态处理引擎

RAG-Anything高级扩展框架深度解析:构建企业级多模态处理引擎 【免费下载链接】RAG-Anything "RAG-Anything: All-in-One RAG Framework" 项目地址: https://gitcode.com/GitHub_Trending/ra/RAG-Anything 在当今数据驱动的AI时代,传统…

2026/7/16 18:50:30 阅读更多 →
如何在微服务环境中集成 otel-desktop-viewer:实战配置与调优

如何在微服务环境中集成 otel-desktop-viewer:实战配置与调优

如何在微服务环境中集成 otel-desktop-viewer:实战配置与调优 【免费下载链接】otel-desktop-viewer otel-desktop-viewer is a CLI tool for receiving OpenTelemetry traces while working on your local machine. 项目地址: https://gitcode.com/gh_mirrors/ot…

2026/7/16 18:48:30 阅读更多 →
Radare2 vs IDA Pro:为什么这款开源逆向工具值得你尝试?

Radare2 vs IDA Pro:为什么这款开源逆向工具值得你尝试?

Radare2 vs IDA Pro:为什么这款开源逆向工具值得你尝试? 【免费下载链接】awesome-radare2 A curated list of awesome projects, articles and the other materials powered by Radare2 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-radare2…

2026/7/16 18:48:30 阅读更多 →

日新闻

HarmonyOs应用《重要日》开发第6篇 - 数据持久化存储

HarmonyOs应用《重要日》开发第6篇 - 数据持久化存储

本篇深入剖析 ImportantDays 项目的数据持久化方案——基于 HarmonyOS ArkData 模块的 Preferences 轻量级存储,以及 PreferenceUtil 工具类的单例封装。一、HarmonyOS 数据存储方案对比 HarmonyOS 提供了多种数据存储方案:方案适用场景特点Preferences轻…

2026/7/16 0:08:27 阅读更多 →
Python实现跨境电商商品图批量翻译教程

Python实现跨境电商商品图批量翻译教程

一、问题引入做跨境电商的卖家朋友,你是否遇到过这样的困扰?每次上架新品到亚马逊、Shopee或Lazada等平台,都需要处理大量商品图片的多语言版本。比如上架200款衣服,每款需要翻译成英语、日语、韩语等5种语言,这意味着…

2026/7/16 0:08:27 阅读更多 →
鸿蒙 7 新特性实战①:从 0 到 1 掌握 @kit 标准导入规范

鸿蒙 7 新特性实战①:从 0 到 1 掌握 @kit 标准导入规范

从鸿蒙 7(HarmonyOS NEXT)开始,官方全面完成了从 ohos.* 零散模块到 kit.* 领域套件的体系重构。对开发者来说,第一道门槛不是 API 用法变化,而是统一的导入规范——旧体系默认导入、解构导入混用的混乱局面被彻底终结…

2026/7/16 0:10:29 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/15 21:09:01 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/15 19:42:20 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/15 17:52:08 阅读更多 →

月新闻