MySQL——select语句的简单介绍和查询时常用的参数

news2025/2/24 3:15:06

select语句详解

基本的select语句

select 要查询的列名 from 要查询的表 where 限制条件;

如果要查询表的所有内容,则把要查询的列名用—个星号*号表示(之间的案例中都已经使用过),代表要查询表中所有的列。

而大多数情况,我们只需要查看某个表的指定的分列,比如要查看book的id值:

select id from book;

如果要查询单独几列的值,那么就将select关键字后面的星号替换成列名即可,星号表示所有的列。

数学符号条件

SELECT语句常常会有WHERE限制条件,用于达到更加精确的查询。WHERE限制条件可以有数学符号( =,,>=,

select * from book2 where id > 2;

使用where关键字后面跟上条件即可,或者是寻找名字叫做张三的信息:

select * from book2 where name = '张三';

'AND'和'OR'关键字:

从这两个单词就能够理解它们的作用。WHERE后面可以有不止一条限制,而根据条件之间的逻辑关系,可以用[条件一OR条件二]]和[条件一AND条件二]连接:

例如,筛选出id大于2或者地址在北京的信息:

OR表示或者,也就是两个条件满足一个即可,AND表示并且,必须两个条件都满足才行,现在我们使用AND:

此时,id

对于AND来说,还可以连接两个边界条件,查询在两个边界条件中的值:

这种方式可以查询出id在3和6之间的值,包含边界。

IN和NOT IN

关键词IN和NOT IN的作用和它们的名字—样明显,用于筛选*"在"或"不在"**某个范围内的结果,比如说我们要查询id是2和3的人:

注意这里是3和6的信息,不是3到6的信息,所以id为5的信息并没有查出来,也就是说他只会匹配在in后面的括号中的值。

通配符

关键字LIKE可用于实现模糊查询,常见于搜索功能中。

和LIKE联用的通常还有通配符,代表未知字符。SQL中的通配符是_和%。其中_代表一个未指定字符,%代表不定个未指定字符

比如,要只记得这个人姓张,但是名字忘了,就可以使用通配符:

我们先多准备点数据:

现在这是book2表中的数据,我们使用通配符查找姓张的人:

select * from book2 where name like '张%';

所有的张开头的名字就都查出来了,%表示后面不定几个字,_表示一个字,如果我知道这个人姓张,并且是两个字的名字,我就可以这么查:

select * from book2 where name like '张_';

那么就查出来了,并且刚才有一个三个字的名字现在就匹配不上查不出来了,这个通配符可以放在任何位置,比如我只知道他的名字里有一个三,我可以这么查询:

select * from book2 where name like '%三%';

那么所有名字里带三字的人就都被查出来了。

对结果进行排序

为了使查询结果看起来更顺眼,我们可能需要对结果按某一列来排序,这就要用到ORDER BY排序关键词。默认情况下,ORDER BY的结果是升序排列,而使用关键词ASC和DESC可指定升序或降序排序。

比如,我们按id降序排列,SQL语句为:

select * from book2 order by id desc;

降序就是从大到小,使用desc关键字,要升序就使用asc关键字:

不过默认就是升序,所以这里写不写排序都无所谓的。

SQL内置函数和计算

SQL允许对表中的数据进行计算。对此,SQL有5个内置函数,这些函数都对SELECT的结果做操作:

函数名:

COUNT

SUM

AVG

MAX

MIN

作用:

计数

求和

请平均值

最大值

最小值

现在我再创建一个新的表book3:

这个表里的数据更丰富了,现在我要查询表中年龄最大的:

select max(age) as max_age from book3;

使用max()内置函数就可以做到,或者查询最小的:

或者查询年龄的平均值:

我们求出来的数并没有自动取整,这是因为MySQL的内部一个计算机制的问题,我么后期会介绍如何四舍五入或者其他的策略。

或者是计算表中的总行数:

除了使用count(1)这种写法,还可以使用这样的方式:

不过count(*)的方式可能在MySQL5.x版本中有语法错误,按照自己数据库版本选择最稳定的方式即可。

或者是对年龄进行求和:

所有人的年龄加起来是63

使用AS为查询出来的结果起别名

在之前我们使用函数的时候,我们为查询的单列结果起了个别名,使用了as关键字。什么是别名,就是我们在查询结果的地方打印出来的名字和我们实际的列名不一致,如果我们不使用别名是什么样子:

就是我们在select后面写什么,他就会显示什么,有时候我们显示的样子不符合我们的规范或者说看起来不好看,我们就可以起个别名。除了对这些函数计算的列起别名,还可以对表中的列起别名:

当然,别名也可以是中文,但是一般很少这么使用

别名使用最多的地方在后面的复杂查询中的多表查询的时候,在那时候可以为多个表起别名,方便我们区别不同的表以及表对应的列名。

子查询

所谓的子查询,就是对一个查询的结果做二次查询,这个被二次查询的查询语句就是子查询:

我们对一个查询结果进行了二次查询,这种子查询的形式叫做嵌套查询。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux——(第七章)文件权限管理

目录 一、基本介绍 二、文件/目录的所有者 1.查看文件的所有者 2.修改文件所有者 三、文件/目录的所在组 1.修改文件/目录所在组 2.修改用户所在组 四、权限的基本介绍 五、rwx权限详解 1.rwx作用到文件 2.rwx作用到目录 六、修改权限 一、基本介绍 在Linux中&…

[docker]笔记-portainer的使用

1、安装完成后输入ip加端口号打开网页,并再相应位置输入初始密码,初始密码自行设置。 2、进入主页后可以看到如下图标: 3、选择docker环境,即可展示目前docker信息 可以看到目前有1个容器,3个卷和4个镜像&#xff0c…

【C++ • STL】一文带你走进string

文章目录 一、STL简介二、标准库中的string类三、string类的常用接口说明2.1 string类对象的常见构造2.2 string类对象的访问及遍历操作2.2.1 元素访问2.2.2 迭代器 2.3 string类对象的容量操作2.4 string类对象的修改操作2.5 string类非成员函数 四、总结 ヾ(๑╹◡╹)&#x…

西门子PLC如何与多个三菱PLC建立无线通信?

对一个大型工厂,由于生产线的不断改造、新老流程的不断更新,这些PLC系统往往是由不同的制造商提供的。那么在智慧工厂的实现中,常会遇到不同品牌PLC之间需要进行相互通讯的情况。由于场地和生产能效的原因,在后期的系统改造中&…

docker从零部署jenkins保姆级教程(上)

jenkins,基本是最常用的持续集成工具。在实际的工作中,后端研发一般没有jenkins的操作权限,只有一些查看权限,但是我们的代码是经过这个工具构建出来部署到服务器的,所以我觉着有必要了解一下这个工具的搭建过程以及简…

【Java 基础篇】Java 异常处理指南:解密异常处理的关键技巧

异常是 Java 编程中不可避免的一部分。无论你是刚刚入门 Java 编程,还是已经有一定经验,了解异常处理都是非常重要的。本篇博客将向你介绍 Java 中异常的基础知识,帮助你理解什么是异常、为什么需要异常处理以及如何在代码中处理异常。 什么…

最新SQL注入漏洞原理及与MySQL相关的知识点

点击星标,即时接收最新推文 本文选自《web安全攻防渗透测试实战指南(第2版)》 点击图片五折购书 SQL注入漏洞简介 SQL注入是指Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数被…

Spring MVC:视图与视图解析器

Spring MVC 前言视图视图解析器附 前言 在上一章中,模型数据通过域对象共享的方式返回给前端控制器 DispatcherServlet 。那么,把结果封装成模型视图 ModelAndView 对象返回给前端控制器 DispatcherServlet 后,下一步是前端控制器 Dispatche…

二分搜索树节点的查找(Java 实例代码)

目录 二分搜索树节点的查找 Java 实例代码 src/runoob/binary/BinarySearchTreeSearch.java 文件代码: 二分搜索树节点的查找 二分搜索树没有下标, 所以针对二分搜索树的查找操作, 这里定义一个 contain 方法, 判断二分搜索树是否包含某个元素, 返回一个布尔型变…

C#,数值计算——用于积分的梯形法(Trapezoidal Rule)的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// Routine implementing the extended trapezoidal rule. /// </summary> public class Trapzd : Quadrature { /// <summary> /// Limits …

【Java 基础篇】Java Collection 详解:集合入门指南

Java 是一种流行的编程语言&#xff0c;其中的集合&#xff08;Collection&#xff09;框架为处理和操作数据提供了丰富的工具。无论你是刚刚开始学习 Java&#xff0c;还是已经有一些经验&#xff0c;理解如何使用集合是非常重要的&#xff0c;因为它们是 Java 程序中最常用的…

【漏洞复现】博华网龙设备存在命令执行漏洞

漏洞描述 中科博华是一家主营软件产品开发、信息安全产品研发,兼营计算机系统集成与信息安全服务为一体的高科技企业。拥有七项专利和五十余项软件著作权。具有CMMI、商用密码生产和销售许可证、3C认证、系统集成、信息安全服务和涉密资质。 该产商多个安全设备的系统存在远…

MySQL5.7 在Window平台安装

一、下载 在MySQL的官网下载安装包 MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/ 这里我选择的是x64的ZIP安装包&#xff1b;点击Download下载 这里我选择的是直接开始下载 二、解压与初始化 将下载好的安装包解压&#xff0c;这里我解…

一些芯片设计的冷知识

关于芯片物理版图 芯片物理版图是一种用来描述集成电路内部结构和连接的图形文件&#xff0c;它是芯片设计的最终结果&#xff0c;也是芯片制造的依据。芯片物理版图中包含了各种工艺层的信息&#xff0c;例如多晶硅层、金属层、活性区层、接触层等&#xff0c;每一层都有不同…

MMDetection3D框架环境配置

MMDetection3D是一个基于PyTorch的开源3D目标检测框架。下面是MMDetection3D的环境配置步骤&#xff1a; 安装Anaconda&#xff0c;教程很多不在说明。 1.创建Python环境 使用以下命令创建一个Python 3.8环境&#xff1a; conda create -n mmdetection3d python3.8使用以下…

WPS或EXCEL表格单元格下拉快捷选择项修改及设置方法

WPS或新版本EXCEL的设置下拉选项的方法是.点击一个单元格,菜单上选择数据,下拉列表即可设置,双击文字可编辑 EXCEL 旧的版本不同,可能有不同方法 方法一, 1.在空白区域里面&#xff0c;准备好需要填入下拉菜单里面的内容。 2.选中一个需要添加下拉菜单的单元格&#xff0c;然后…

【多线程】ThreadLocal是什么?有哪些使用场景?使用ThreadLocal需要注意些什么?

文章目录 前言一、ThreadLocal 是什么&#xff1f;二、有哪些使用场景&#xff1f;三、实现原理四、在线程池中使用 ThreadLocal 为什么可能导致内存泄露呢&#xff1f;五、线程池中&#xff0c;如何正确使用 ThreadLocal&#xff1f;六、ThreadLocal 核心方法 前言 一、Threa…

韶音的骨传导耳机怎么样,韶音骨传导耳机值得入手吗

常常有人在问韶音的骨传导耳机怎么样以及韶音骨传导耳机值得入手吗这类问题&#xff0c;其实韶音的骨传导耳机在质量方面还是不错的&#xff0c;而且实力上在骨传导中也有着一定的底蕴&#xff0c;具备了多种功能&#xff0c;作为国产品牌的骨传导耳机&#xff0c;在国际市场中…

vue项目启动npm run ‘配置‘(读取的配置信息详情)

1&#xff1a; VSCode终端启动命令 1-1&#xff1a; npm run serve&#xff0c;配置serve默认就是读取.env.development

SpringBoot中使用EMQX实现MQTT通讯

简述 之前写过一篇SpringBoot通过Netty实现TCP服务的文章&#xff0c;本篇与之前那篇实现的场景类似&#xff0c;都是服务器与客户端之间双向交互&#xff0c;但个人觉得MQTT的方式实现更好&#xff0c;优雅。 基础 MQTT协议是通过MQTT服务器转发消息&#xff0c;MQTT服务器…