mysql基础-表数据操作之查

目录

1.别名

2. 单表查询

2.1 模糊查询 - like

2.2 limit

2.3 order by

2.4 group by

2.5 in

2.6 between and

2.6 is null

2.7 not

2.8 运算符

3. 联表查询

全连接

左连接

右连接


本次分享一下数据的DQL语言。

1.别名

首先分享一下别名的知识。我们在查询的时候可以对字段、表名或查询结果赋值一个别名,赋值别名的时候可以使用关键字AS,此关键字不区分大小写。

现有表机构如下:

CREATE TABLE `t_order` (
  `order_id` int(12) NOT NULL AUTO_INCREMENT COMMENT '订单主键',
  `money` decimal(10,2) DEFAULT NULL COMMENT '金额',
  `good_id` int(12) DEFAULT NULL COMMENT '商品ID',
  `good_name` varchar(20) DEFAULT NULL COMMENT '商品名称',
  PRIMARY KEY (`order_id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4

字段起别名如下,以下两种方式即可,如果想规范一些,建议使用as关键字,以下就不再列两种方式,仅展示一种。

-- 方式1
select good_name as goodName from t_order  where order_id = 1;
-- 方式2
select good_name  goodName from t_order  where order_id = 1;

表名起别名如下:

select good_name from t_order as t1  where order_id = 1;

对查询结果起别名

 select * from (select good_name  from t_order) as t1

2. 单表查询

语法:

select 字段 from 表名 where 条件

以下的查询较简单,可自行执行尝试,故不再建表,表名以table表示,字段名会比较随意。

2.1 模糊查询 - like

通配符:%

表示任意字符。

右模糊,例如查询姓张的人:

select * from table where name like '张%'

左模糊,例如:查询名称最后一个字是帅的人

select * from table where name like '%帅'

通配符: _

表示一个任意的字符。

例如:查询商品名称为2个字,且最后一个字是”子“的商品

select * from t_good where good_name like '_子'

2.2 limit

语法:

limit offset, rows
offset 代表偏移量,表示从第几行开始读取数据,mysql的起始偏移量为0
rows 代表返回的行数

查询限制的条件,例如:limit 5,表示查询前5条数据,此处相当于 limit 0,5。

常用于分页处理,程序中也常使用limit 1用于提升性能。

假如:查询第三页数据,每页5条,则为 limit 10,5。

可以记住这个公式:limit (page-1) * pageSize,pageSize,page:页数,pageSize:每页大小。

2.3 order by

含义:排序。

order by 排序,默认是正序,例如order by create_time,则为按创建时间正序。

正序关键字:asc,倒序关键字:desc。

示例:奖品有金牌、银牌、铜牌,排名:如果金牌相同,则按银牌排名,如果银牌相同则按铜牌排名。

select * from 获奖表 order by 金牌 desc,银牌 desc, 铜牌 desc

扩展:按指定字段排序

语法:order by FIELD

示例:按order_id字段排序,按order_id值为'1','3','2'依次排序

select * from t_order where order_id in ('1','2','3')  order by FIELD(order_id,'1','3','2')

查询结果示例图:

无order by FIELD查询结果示例图:

2.4 group by

含义:分组。

示例:学生按性别分组

select sex from student group by sex 

注意事项:如果规范一些,那么select 后的字段写分组的字段,不要写其他表中字段,例如:学生姓名。

2.5 in

含义: 在其中,范围关键字。

示例:查询学生姓名是张三和李四的学生信息

select * from student where name in ('张三','李四')

2.6 between and

含义:在...之间。

例如:查询订单表中order_id 在10到100之间的数据

select * from  t_order where order_id between 10 and 100

2.6 is null

含义:是否为空。

示例:查询商品表中商品名称为null的数据

select * from t_good where good_name is null

2.7 not

含义:反向。

例如:not like , not in ,is not null

示例:查询除张三和李四的学生信息

select * from student where name not in ('张三','李四')

2.8 运算符

运算符:> 、< 、<=、>=、 <>

示例:查询创建时间大于‘2024-01-07 00:00:00’的数据

select * from t_order where create_time > 2024-01-07 00:00:00’

其他的运算符就不示例了。

3. 联表查询

联表查询主要包括三种:全连接、左连接、右连接

全连接

关键词:inner join ..... on 条件

示例:

select t1.*,t2.* from t_order t1 inner join t_good t2 on t1.good_id = t2.good_id

左连接

关键词: left join ...... on 条件

以左表连接的表为基础,查询右边表的内容

示例:

select t1.*,t2.* from t_order t1 left join t_good t2 on t1.good_id = t2.good_id

此语句查询到是:所有的订单数据,如果有商品数据则展示,无商品数据则展示为null

右连接

关键词: left join ...... on 条件

以右表连接的表为基础,查询左边表的内容

示例:

select t1.*,t2.* from t_order t1 right join t_good t2 on t1.good_id = t2.good_id

此语句查询到是:所有的商品数据,如果有订单数据则展示,无订单数据则展示为null

本次分享至此。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/300418.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【创建VirtualBox虚拟机并安装openEuler20.03 TLS SP1操作系统】

创建VirtualBox虚拟机并安装openEuler20.03 TLS SP1操作系统 一、环境说明二、安装过程 一、环境说明 虚拟机软件&#xff1a;Virtualbox操作系统&#xff1a;openEuler 20.03 TLS SP1&#xff08;x86&#xff09; 二、安装过程 创新虚拟机 修改虚拟机配置&#xff1a; …

MySQL复习汇总(图书管理系统)

MySQL图书管理系统&#xff08;49-94&#xff09;源码_71.备份book数据库到e盘的mybook.sql文件(备份文件中要求包含建库命令)-CSDN博客 -- 1、 创建一个名称为book的数据库。 -- 2、 打开book数据库 -- 3、 创建数据表分别如下&#xff08;除外键之外&#xff09;…

IDEA 中搭建 Spring Boot Maven 多模块项目 (父SpringBoot+子Maven)

第1步&#xff1a;新建一个SpringBoot 项目 作为 父工程 [Ref] 新建一个SpringBoot项目 删除无用的 .mvn 目录、 src 目录、 mvnw 及 mvnw.cmd 文件&#xff0c;最终只留 .gitignore 和 pom.xml 第2步&#xff1a;创建 子maven模块 第3步&#xff1a;整理 父 pom 文件 ① …

支付宝扫码(Easy版)支付实现

文章目录 一 技术准备1.1 二维码技术&#xff08;java&#xff09;1.2 支付宝沙箱环境准备1.3 内网穿透 二 支付宝支付相关知识2.1 各种支付方式2.2 扫码付接入流程2.3 系统交互流程(时序图)2.4 加密逻辑 三 扫码支付实现3.1 添加maven依赖&#xff08;Easy版&#xff09;3.2 完…

【Python发送邮件】

Python发送邮件 使用python的email和smtplib发送邮件 使用python的email和smtplib发送邮件 需要先下载安装 email 和 smtplib 模块 // An highlighted block pip install email smtplib需要去你的邮件地址申请一下 API Key&#xff0c;这是专门用来开发时使用的密钥。 获取后…

看CHAT如何判断php Imagick writeImages写入gif已经完毕

CHAT回复&#xff1a;Imagick::writeImages() 是同步执行的&#xff0c;也就是说这个函数会阻塞直到 GIF 文件被完全写出。所以如果这个函数没有报错并成功返回&#xff0c;那么你可以认为 GIF 文件已经被完全写出了。 如果你想要在写出 GIF 文件后立即做一些操作&#xff08;例…

学习c语言,隐形类型转换,整形提升

把整形定义字符型的话&#xff0c;字符型指挥提取整形前8位&#xff0c;但是整形有32位&#xff0c;如果字符型最后一位为0全部补0&#xff0c;为1全部补1。

测试分类篇

小王学习录 测试分类按测试对象划分1. 界面测试2. 可靠性测试3. 容错性测试4. 文档测试5. 兼容性测试6. 易用性测试7. 安装卸载测试8. 安全测试9. 性能测试10. 内存泄露测试 按是否查看代码划分1. 黑盒测试2. 白盒测试3. 灰盒测试 按开发阶段分1. 单元测试2. 集成测试3. 系统测…

WebofScience快速检索文献的办法

Web of Science为什么老是搜不到文章&#xff0c;原来是要在这个地方全部勾选 如果是搜标题的话&#xff0c;选Title&#xff0c;输入你要搜的文章标题 另外&#xff0c;也可以在浏览器直接搜文章标题&#xff0c;得到文章的DOI&#xff0c;然后选DOI&#xff0c;直接搜DOI也行…

draw.io基础操作和代码高效画图进阶

文章目录 一、基础操作1、链接2、等比例变形3、复制4、插入表格 二、在线打开三、插入—功能聚集地1、插入图片2、插入画笔3、插入布局4、导出 四、图码转换——高效画图1、通用图码转换2、流程图生成&#xff1a;使用mermaid语言生成图&#xff1a; 五、图码转换高效画图的典型…

超维空间M1无人机使用说明书——52、ROS无人机二维码识别与降落

引言&#xff1a;使用二维码引导无人机实现精准降落&#xff0c;首先需要实现对二维码的识别和定位&#xff0c;可以参考博客的二维码识别和定位内容。本小节主要是通过获取拿到的二维码位置&#xff0c;控制无人机全向的移动和降落&#xff0c;分为两种&#xff0c;一种是无人…

问题:为什么IP和端口一样的两个应用服务可以正常启动呢?

mysql安装 将MongoDB安装好并设置bindIP为0.0.0.0&#xff0c;端口为3306 发现问题&#xff0c;MySQL和MongoDB端口和IP一致&#xff0c;两个服务都能同时启动&#xff0c;这是为什么呢&#xff1f; 麻烦知道的大佬帮忙解答一下~~~

win10下安装detectron2-0.5(0.6应该也可以)

最近从github上下载的实例分割代码是detectron2-0.5的记录下配置过程。 1、前面什么pytorch基本步骤网上教程很多, 对着项目的要求下就行 2、到这里一般都是让你去下一个detectron2&#xff0c;但是我们从github上白嫖的项目都是有detectron2的&#xff0c;所以只需要找到那个s…

DQL命令查询数据(三)

本课目标 掌握MySQL的多表查询 SQL语句的综合应用 多表连接查询 通过各个表之间共同列的关联性&#xff08;例如&#xff1a;外键&#xff09;来查询的 分类&#xff1a; 内连接(INNER JOIN) &#xff0c;可简写为 JOIN&#xff1b;左外连接(LEFT OUTER JOIN)&#xff0c;…

【EAI 004】LLM+P:借助LLM和PDDL赋予机器人最优规划能力

论文标题&#xff1a;LLMP: Empowering Large Language Models with Optimal Planning Proficiency 论文作者&#xff1a;Bo Liu, Yuqian Jiang, Xiaohan Zhang, Qiang Liu, Shiqi Zhang, Joydeep Biswas, Peter Stone 作者单位&#xff1a;Department of Computer Science, Th…

【前端设计】小球loading动画

欢迎来到前端设计专栏&#xff0c;本专栏收藏了一些好看且实用的前端作品&#xff0c;使用简单的html、css语法打造创意有趣的作品&#xff0c;为网站加入更多高级创意的元素。 html <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

【深度学习:Few-shot learning】理解深入小样本学习中的孪生网络

【深度学习&#xff1a;Few-shot learning】理解深入小样本学习中的孪生网络 深入理解孪生网络&#xff1a;架构、应用与未来展望小样本学习的诞生元学习小样本学习孪生网络的基本概念孪生网络的细节Triplet Loss架构特点关键组件训练过程主要应用领域未来展望示例图片结论 深入…

[AutoSar]基础部分 RTE 06 对runnable的触发和SWC的影响

目录 关键词平台说明一、runnable二、RTE的event2.1Mode类型event2.2周期触发类型2.3 数据交互触发 三、internal runnable value四、专属运行区指定五、per_instance memory 关键词 嵌入式、C语言、autosar、Rte 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商T…

Kali Linux——设置中文

【问题现象】 从下图可以看到&#xff0c;菜单全是英文的。对于英文不好的同学&#xff0c;使用起来很难受。 【解决方法】 1、获取root权限 su root 2、进入语言设置 dpkg-reconfigure locales 3、选择zh_CN.UTF-8 UTF-8 4、设置默认 5、安装完成 6、重启虚拟机 reboot…

深度学习数据集大合集—鱼类数据集

最近收集了一大波有关于各类鱼类的数据集&#xff0c;有淡水鱼、有深海鱼、有鱼的状态、有鱼的分类。大家可以详细查看。废话不多说&#xff0c;接下下来逐一的给大家介绍&#xff01;&#xff01; 1、鱼类检测数据集 包含鱼类的对象检测数据集 本数据集包含4种鱼类及其相关…