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

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.rhkb.cn/news/125975.html

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

相关文章

AI绘画:StableDiffusion实操教程-完美世界-魔女(附高清图下载)

前段时间我分享了StableDiffusion的非常完整的教程:“AI绘画:Stable Diffusion 终极宝典:从入门到精通 ” 尽管如此,还有读者反馈说,尽管已经成功安装,但生成的图片与我展示的结果相去甚远。真实感和质感之…

【Mysql】给查询记录增加序列号方法

在MySQL 8.0版本中,你可以使用ROW_NUMBER()函数来添加序号。以下是一个示例查询,演示如何添加序号: SELECT ROW_NUMBER() OVER (ORDER BY column_name) AS serial_number,column1, column2, ... FROMyour_table;请将column_name替换为你想要…

微电网的概念

微电网分布式控制理论与方法  顾伟等 微电网的概念和作用 微电网是由多种分布式电源、储能、负载以及相关监控保护装置构成的能够实现自我控制和管理的自治型电力系统,既可以与电网并网进行,也可以以孤岛运行。 分布式发电是指将容量在兆瓦以内的可再…

C++笔记基础全部完整版

01 面向对象 基本概念 面向对象程序设计(Object-Oriented Programming,OOP)是一种新的程序设计范型。程序设计范型是指设计程序的规范、模型和风格,它是一类程序设计语言的基础。 面向过程 面向过程程序设计范型是使用较广泛的…

gitlab 合并分支

打开我们的gitlab,找到我们的项目,在左侧菜单中找到Merge requests,点击Merge requests,进入下一个页面 点击New merge requests,创建一个新的merge,进入下一个页面 选择自己分支和目标分支,自己…

jmeter 线程组 Open Model Thread Group 阶梯式压测、高峰流量压测

简介 Open Model Thread Group 是5.4.1 版本中引入的一个实验性线程组,可以弹性模拟负载测试。例如设置多个线程模式,再根据这些线程模式调整不同的并发数、暂停时间。由于Open Model Thread Group 是一个实验性线程组,可能会存在一些限制和不…

记一次诡异的Cannot find declaration to go to,Cannot resolve method

记一次诡异的 Cannot find declaration to go to, Cannot resolve method getOnExpressions in Join 对于项目中通常问题,清除缓存,重启idea,或者仔细检查语法通常都能解决问题,但是这次却失效了,以下是原…

十一、做高并发内存池项目过程中遇到的bug以及调试bug的方法和心得

十一、做高并发内存池项目过程中遇到的bug以及调试bug的方法和心得 第一个bug是内存问题,程序直接崩溃,问题出现在:GetOneSpan函数中的切分span的时候结尾的span1的next没有置空。 第二个bug是还小内存块给span的时候找不到小内存所属的spa…

微服务06-Dockerfile自定义镜像+DockerCompose部署多个镜像

常见的镜像在DockerHub能找到,但是我们自己写项目得自己构造镜像 1 镜像结构 作用:提高复用性,当应用需要更新时,不再是整个系统重装进行更新 ,而是对需要更新的部分进行更新,其他地方不动——>这就是分…

Web安全——穷举爆破下篇(仅供学习)

Web安全 一、常见的端口服务穷举1、hydra 密码穷举工具的使用2、使用 hydra 穷举 ssh 服务3、使用 hydra 穷举 ftp 服务4、使用 hydra 穷举 mysql 服务5、使用 hydra 穷举 smb 服务6、使用 hydra 穷举 http 服务7、使用 hydra 穷举 pop3 服务8、使用 hydra 穷举 rdp 服务9、使用…

分类预测 | MATLAB实现PCA-GRU(主成分门控循环单元)分类预测

分类预测 | MATLAB实现PCA-GRU(主成分门控循环单元)分类预测 目录 分类预测 | MATLAB实现PCA-GRU(主成分门控循环单元)分类预测预测效果基本介绍程序设计参考资料致谢 预测效果 基本介绍 Matlab实现基于PCA-GRU主成分分析-门控循环单元多输入分类预测(完整程序和数据…

HTTP代理如何设置

HTTP代理是一种非常重要的网络工具,它可以帮助我们在访问互联网时提高访问速度,保护用户隐私等等。在使用HTTP代理时,需要先进行设置。下面就来介绍一下HTTP代理如何设置。 一、了解HTTP代理 在开始设置HTTP代理之前,我们需要先了…

2023 INCLUSION·外滩大会丨拓数派科技战略深度披露,大模型数据计算系统蓄势待发

近日,被亿欧网誉为最值得关注的全球化大模型数据计算科技新锐拓数派亮相在黄浦区世博园举行的2023 INCLUSION外滩大会。作为国际顶尖的科技盛会,来自全球各地的著名经济学家、诺奖得主、企业家和技术大咖们济济一堂,围绕“科技创造可持续未来…

电器布线电线电缆外贸出口UL758测试标准

UL 758,第 3 版,2014 年 5 月 2 日- UL 安全电器布线材料标准 这些要求涵盖了电器布线材料 (AWM),形式为单绝缘导体、多导体电缆、光纤、独立绝缘导体和光纤用作多芯电缆组件的构件。 本标准要求所涵盖的器具布线材料仅用作器具和其他设备整…

用Python实现一个可定制风格的绘图系统

文章目录 调用绘图风格控件代码组织源代码base.pyaframe.pyalist.pyds.py Python绘图系统: 📈从0开始的3D绘图系统📉一套3D坐标,多个函数📊散点图、极坐标和子图自定义控件:📉绘图风格&#x1…

2023国赛数学建模E题思路代码 - 黄河水沙监测数据分析

# 1 赛题 E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响, 以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位…

C++新特性:智能指针

一 、为什么需要智能指针 智能指针主要解决以下问题: 1)内存泄漏:内存手动释放,使用智能指针可以自动释放 2)共享所有权指针的传播和释放,比如多线程使用同一个对象时析构问题,例如同样的数据…

MySQL——笔试测试题

解析: 要查询各科目的最大分数,可以使用如下的SQL语句: SELECT coursename, MAX(score) FROM t_stuscore GROUP BY coursename; 这条SQL语句使用了MAX()聚合函数来获取每个科目的最大分数,并使用GROUP BY子句按照科目进行分组…

C++的多态

1.虚函数的重写 虚函数的条件就是: 1.要分别作用与基类和派生类当中。 2.三同:函数名相同、参数相同、返回值相同(协变除外,下面有讲到) 多态的条件: 1.必须调用基类的引用或者地址 2.调用得函数是重写的虚函数 2…

sql:SQL优化知识点记录(七)

(1)索引优化5 (2)索引优化6 (3)索引优化7 查询*, 百分号加右边,否则索引会失效 没建立索引之前都是全表扫描 没建立索引 建立索引: 建立索引 id是主键,他也…