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

本次分享至此。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

05 Ciso模拟器连接腾讯云物联网开发平台

Ciso声明&#xff1a;本篇文章基于使用腾讯云物联网平台连接自定义esp8266物联网设备(腾讯连连控制开关实现) - CSDN App改编 一、总体概览 功能描述&#xff1a; 使用腾讯连连小程序进行控制&#xff0c; Alarm&#xff08;警铃&#xff09;&#xff1a;开的时候&#xff…

【Spring实战】20 Spring Data REST+JPA构建基础的RESTful API

文章目录 1. 基础概念1&#xff09;Spring Data REST2&#xff09;JPA&#xff08;Java Persistence API&#xff09; 2. 添加依赖3. 创建JPA实体4. 创建JPA Repository5. 启用Spring Data REST6. 启动服务7. 测试8. 总结 Spring Data REST 是 Spring Framework 生态系统中的一…

OpenSSL——升级

OpenSSL&#xff08;Open Secure Sockets Layer&#xff09;是一个开源的软件库&#xff0c;提供了SSL和TLS协议的实现&#xff0c;用于加密通信。它广泛用于安全连接&#xff0c;例如在网站上通过HTTPS协议进行安全的数据传输. 但是从openssl申请道德证书是不安全的。对于网站…

【算法每日一练]-动态规划(保姆级教程 篇14) #三倍经验 #散步 #异或和 #抽奖概率

目录 今日知识点&#xff1a; 金字塔的正反dp两种方案&#xff0c;转移方程取决于dp的具体含义 取模实现循环走m步回到原点的方案 在统计上升子序列的时候使用最小结尾元素进行标记&#xff0c;一举两得 将亏本的概率转换各种情况的方案&#xff0c;然后统计亏本的情况的方…

已解决 | Go Error: redeclared as imported package name 问题

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通Golang》…

RH850P1X芯片学习笔记-A/D Converter (ADCF)

文章目录 Features of RH850/P1x-C ADCFNumber of UnitsRegister Base AddressClock SupplyInterrupts and DMAHardware ResetExternal Input/Output SignalsVirtual Channel OverviewFunctional OverviewBlock DiagramPhysical Channels, Virtual Channels and Scan Groups Re…

数据结构和算法-数据结构的基本概念和三要素和数据类型和抽象数据类型

文章目录 总览数据结构的基本概念总览数据早期和现代的计算机处理的数据数据元素-描述一个个体数据对象-一类数据元素什么是数据结构小结 数据结构的三要素总览逻辑结构-集合结构逻辑结构-线性结构逻辑结构-树形结构逻辑结构-图形结构逻辑结构-小结数据的运算物理结构&#xff…

7个Pandas绘图函数助力数据可视化

大家好&#xff0c;在使用Pandas分析数据时&#xff0c;会使用Pandas函数来过滤和转换列&#xff0c;连接多个数据帧中的数据等操作。但是&#xff0c;生成图表将数据在数据帧中可视化&#xff0c;通常比仅仅查看数字更有帮助。 Pandas具有几个绘图函数&#xff0c;可以使用它…

复试 || 就业day05(2024.01.08)项目一

文章目录 前言代码模拟梯度下降构建函数与导函数函数的可视化求这个方程的最小值&#xff08;直接求导&#xff09;求方程最小值&#xff08;不令方程导为0&#xff09;【梯度下降】eta0.1eta 0.2eta 50eta 0.01画出eta0.1时的梯度下降x的变化过程 总结 前言 &#x1f4ab;你…

Python将Labelme文件的真实框和预测框绘制到图片上

Python将Labelme文件的真实框和预测框绘制到图片上 前言前提条件相关介绍实验环境Python将Labelme文件的标注信息绘制到图片上代码实现输出结果 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多精彩内容&#xff0c;可点击进入Python日常小操作专…

qt信号和槽

Qt是一个跨平台的C图形用户界面应用框架 91年奇趣科技开发 pro工程文件介绍 .pro就是工程文件(project)&#xff0c;它是qmake自动生成的用于生产makefile的配置文件 QT core gui //Qt包含的模块greaterThan(QT_MAJOR_VERSION, 4): QT widgets //大于4版本包含…

2024.1.2 Redis 数据类型 Stream、Geospatial、HyperLogLog、Bitmaps、Bitfields 简介

目录 引言 Stream 类型 Geospatial 类型 HyperLogLog 类型 Bitmaps 类型 Bitfields 类型 引言 Redis 最关键&#xff08;应用广泛、频繁使用&#xff09;的五个数据类型 StringListHashSetZSet 下文介绍的数据类型一般适合在特定的场景中使用&#xff01; Stream 类型 St…

强化学习的数学原理学习笔记 - 基于模型(Model-based)

文章目录 概览&#xff1a;RL方法分类基于模型&#xff08;Model-Based&#xff09;值迭代&#xff08;Value Iteration&#xff09;&#x1f7e6;策略迭代&#xff08;Policy Iteration&#xff09;&#x1f7e1;截断策略迭代&#xff08;Truncated Policy Iteration&#xff…

EasyRecovery2024永久免费版电脑数据恢复软件

EasyRecovery是一款操作安全、价格便宜、用户自主操作的非破坏性的只读应用程序&#xff0c;它不会往源驱上写任何东西&#xff0c;也不会对源驱做任何改变。它支持从各种各样的存储介质恢复删除或者丢失的文件&#xff0c;其支持的媒体介质包括&#xff1a;硬盘驱动器、光驱、…

特征工程(一)

特征工程&#xff08;一&#xff09; 什么是特征工程 简单来讲将数据转换为能更好地表示潜在问题的特征&#xff0c;从而提高机器学习性能 特征工程包含的内容 转换数据的过程特征更好地表示潜在问题提高机器学习性能 数据和机器学习的基础知识 数据基础 以下为数据的一…

计算机网络(超级详细笔记)

使用教材计算机网络&#xff08;第8版&#xff09;&#xff08;谢希仁&#xff09; 第一章&#xff1a;概述 第二章&#xff1a;物理层 第三章&#xff1a;数据链路层 第四章&#xff1a;网络层 第五章&#xff1a;运输层 第六章&#xff1a;应用层 目…

适合培训协会搭建的培训机构管理系统开发方案

一、项目背景与目标 &#xff08;一&#xff09;项目背景 培训学校教务管理系统是培训机构数字化管理的必备系统&#xff0c;该系统功能大大提升机构办学的管理效率、提升机构在家长心中的专业度&#xff0c;市面上的培训机构管理系统收费越来越贵&#xff0c;为了给协会内培…

【陈老板赠书活动 - 21期】- Python树莓派编程从零开始(第3版)

陈老老老板&#x1f9d9;‍♂️ &#x1f46e;‍♂️本文专栏&#xff1a;赠书活动专栏&#xff08;为大家争取的福利&#xff0c;免费送书&#xff09; &#x1f934;本文简述&#xff1a;活就像海洋,只有意志坚强的人,才能到达彼岸。 &#x1f473;‍♂️上一篇文章&#xff…

微信小程序实战-01翻页时钟-1

文章目录 前言需求分析功能设计界面设计界面结构设计界面样式设计 逻辑设计 单页功能实现运行结果 前言 我经常在手机上用的一款app有一个功能是翻页时钟&#xff0c;基于之前学习的小程序相关的基础内容&#xff0c;我打算在微信小程序中也设计一个翻页时钟功能&#xff0c;J…

ArcGIS小技巧|四种计算图斑面积的方法

ArcGIS中有多种方法可计算出图斑面积&#xff0c;本文总结了四种方法&#xff0c;是否可堪称史上最全&#xff1f; 1、计算几何 这是最适合非专业人士的方法&#xff0c;直接利用ArcGIS中的计算几何功能进行计算。 a、首先添加一double类型字段&#xff0c;用来存储面积数值…