MySQL高阶语句之常用查询

这篇具有很好参考价值的文章主要介绍了MySQL高阶语句之常用查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

常用查询

按关键字排序

区间判断及查询不重复记录

对结果进行分组

限制结果条目

设置别名

通配符

子查询


常用查询

(增、删、改、查)
对 MySQL 数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理。 例如只取 10 条数据、对查询结果进行排序或分组等等

按关键字排序

PS:类比于windows 任务管理器
使用 SELECT 语句可以将需要的数据从 MySQL 数据库中查询出来,如果对查询的结果进行排序,可以使用 ORDER BY 语句来对语句实现排序,并最终将排序后的结果返回给用户。这个语句的排序不光可以针对某一个字段,也可以针对多个字段

语法

SELECT column1, column2, ... FROM table_name ORDER BY column1, column2, ... 

ASC   DESC
ASC 是按照升序进行排序的,是默认的排序方式,即 ASC 可以省略。SELECT 语句中如果没有指定具体的排序方式,则默认按 ASC方式进行排序。
DESC 是按降序方式进 行排列。当然 ORDER BY 前面也可以使用 WHERE 子句对查询结果进一步过滤 

MySQL高阶语句之常用查询,mysql,数据库,运维,linuxMySQL高阶语句之常用查询,mysql,数据库,运维,linux

order by还可以结合where进行条件过滤

ORDER BY 语句也可以使用多个字段来进行排序,当排序的第一个字段相同的记录有多条的情况下,这些多条的记录再按照第二个字段进行排序,ORDER BY 后面跟多个字段时,字段之间使用英文逗号隔开,优先级是按先后顺序而定
但order by 之后的第一个参数只有在出现相同值时,第二个字段才有意义

区间判断及查询不重复记录

 AND/OR ——且/或

MySQL高阶语句之常用查询,mysql,数据库,运维,linux

MySQL高阶语句之常用查询,mysql,数据库,运维,linux

嵌套/多条件

MySQL高阶语句之常用查询,mysql,数据库,运维,linux

查询不重复记录

select distinct 字段 from 表名﹔

 MySQL高阶语句之常用查询,mysql,数据库,运维,linux

对结果进行分组

通过 SQL 查询出来的结果,还可以对其进行分组,使用 GROUP BY 语句来实现 ,GROUP BY 通常都是结合聚合函数一起使用的,常用的聚合函数包括:计数(COUNT)、 求和(SUM)、求平均数(AVG)、最大值(MAX)、最小值(MIN),GROUP BY 分组的时候可以按一个或多个字段对结果进行分组处理。

语法

SELECT column_name, aggregate_function(column_name)FROM table_name WHERE column_name operator value GROUP BY column_name;

例 结合where语句,筛选分数大于等于80的分组,计算学生个数

MySQL高阶语句之常用查询,mysql,数据库,运维,linux

限制结果条目

limit 限制输出的结果记录
在使用 MySQL SELECT 语句进行查询时,结果集返回的是所有匹配的记录(行)。有时候仅 需要返回第一行或者前几行,这时候就需要用到 LIMIT 子句

语法

SELECT column1, column2, ... FROM table_name LIMIT [offset,] number

LIMIT 的第一个参数是位置偏移量(可选参数),是设置 MySQL 从哪一行开始显示。 如果不设定第一个参数,将会从表中的第一条记录开始显示。需要注意的是,第一条记录的 位置偏移量是 0,第二条是 1,以此类推。第二个参数是设置返回记录行的最大数目。

例 结合order by语句,按id的大小升序排列显示前三行

MySQL高阶语句之常用查询,mysql,数据库,运维,linux 

设置别名

在 MySQL 查询时,当表的名字比较长或者表内某些字段比较长时,为了方便书写或者 多次使用相同的表,可以给字段列或表设置别名。使用的时候直接使用别名,简洁明了,增强可读性

语法

 对于列的别名:

SELECT column_name AS alias_name FROM table_name;

 MySQL高阶语句之常用查询,mysql,数据库,运维,linux

对于表的别名:

SELECT column_name(s) FROM table_name AS alias_name;

在使用 AS 后,可以用 alias_name 代替 table_name,其中 AS 语句是可选的。AS 之后的别名,主要是为表内的列或者表提供临时的名称,在查询过程中使用,库内实际的表名 或字段名是不会被改变的

使用场景:
1、对复杂的表进行查询的时候,别名可以缩短查询语句的长度
2、多表相连查询的时候(通俗易懂、减短sql语句)

此外,AS 还可以作为连接语句的操作符

MySQL高阶语句之常用查询,mysql,数据库,运维,linux

通配符

通配符主要用于替换字符串中的部分字符,通过部分字符的匹配将相关结果查询出来。

通常通配符都是跟 LIKE 一起使用的,并协同 WHERE 子句共同来完成查询任务。常用的通配符有两个,分别是:

%:百分号表示零个、一个或多个字符       
_:下划线表示单个字符 

MySQL高阶语句之常用查询,mysql,数据库,运维,linux

子查询

子查询也被称作内查询或者嵌套查询,是指在一个查询语句里面还嵌套着另一个查询语 句。子查询语句是先于主查询语句被执行的,其结果作为外层的条件返回给主查询进行下一 步的查询过滤。
PS: 子语句可以与主语句所查询的表相同,也可以是不同表

select name,score from info where id in (select id from info where score >80);

以上同表示例:
主语句:select name,score from info where id
子语句(集合): select id from info where score >80

 
子查询不仅可以在 SELECT 语句中使用,在 INERT、UPDATE、DELETE 中也同样适用。在嵌套的时候,子查询内部还可以再次嵌套新的子查询,也就是说可以多层嵌套。

IN 用来判断某个值是否在给定的结果集中,通常结合子查询来使用

例 查询分数大于80的记录

MySQL高阶语句之常用查询,mysql,数据库,运维,linux

在 IN 前面还可以添加 NOT,其作用与IN相反,表示否定(即不在子查询的结果集里面)

当表达式与子查询返回的结果集中的某个值相等时,返回 TRUE,否则返回 FALSE。 若启用了 NOT 关键字,则返回值相反。需要注意的是,子查询只能返回一列数据,如果需 求比较复杂,一列解决不了问题,可以使用多层嵌套的方式来应对。 多数情况下,子查询都是与 SELECT 语句一起使用的


子查询还可以用在 INSERT 语句中。子查询的结果集可以通过INSERT语句插入到其他的表中UPDATE 语句也可以使用子查询。UPDATE 内的子查询,在 set 更新内容时,可以是单独的一列,也可以是多列。 DELETE 也适用于子查询

例 将lilei的分数改为50

 MySQL高阶语句之常用查询,mysql,数据库,运维,linux

EXISTS 这个关键字在子查询时,主要用于判断子查询的结果集是否为空。如果不为空, 则返回 TRUE;反之,则返回 FALSE文章来源地址https://www.toymoban.com/news/detail-694760.html

到了这里,关于MySQL高阶语句之常用查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 常用的两种 MySQL 查询时间段的方法

    在 MySQL 数据库中,经常需要查询某个时间段内的数据。本文将介绍两种常用的 MySQL 查询时间段的方法,并提供相应的源代码示例。 方法一:使用 BETWEEN 运算符 BETWEEN 运算符可用于查询一个范围内的值,包括指定的起始值和结束值。在查询时间段时,我们可以将起始时间作为

    2024年02月05日
    浏览(44)
  • SQL常用(查询日期)语句

    目录 SQL常用日期查询语句及显示格式设置 1.查询当前年、月、周相关时间  2.查询当前第几季度 3.查询当前在一年内是第几周 SqlServer中的日期与时间函数  SQL查询前10条的方法为: 1.1.查询当前年份 1.2.查询当前年份第几天  1.3.查询当前月份第几天 1.4.查询当前周的星期几 

    2024年02月16日
    浏览(43)
  • Elasticsearch 常用的增加、删除、修改、查询语句

    新增 删除 修改 批量增删改 查询 查询指定索引下全部数据 查询指定索引下指定id的数据 查询指定索引下全部数据 查询指定值(match) 在多个字段中查询指定值(multi_match) match、multi_match是模糊匹配,匹配时会对所查找的进行分词,然后按分词匹配查找。 term 查询

    2024年02月03日
    浏览(42)
  • ​gp,pg常用数据类型,查询语句

    2024年02月15日
    浏览(37)
  • 工作常用ES DSL查询语句(干货满满)

       工作中几乎每天都需要使用到ES查询数据,需要根据自己的查询需求构造DSL查询语句来实现,本文记录并分享本人工作中常用的DSL语句以及所遇到问题的解决方案,DSL语句灵活多变,可进行多种组合,任你搭配,让我们一起往下看,希望对你有帮助。 2.1 查看所有索引的

    2024年02月02日
    浏览(78)
  • 金蝶数据库常用表查询

    金蝶一些常用表数据查询 描述 表名 组织表 T_ORG_ORGANIZATIONS T_ORG_ORGANIZATIONS_L 系统用户表 T_SEC_USER 下拉列表枚举项 T_META_FORMENUMITEM 下拉列表枚举值 T_META_FORMENUMITEM_L 单据类型 T_BAS_BILLTYPE T_BAS_BILLTYPE_L 辅助资料 select * from T_BAS_ASSISTANTDATAENTRY select * from T_BAS_ASSISTANTDATAENTRY_L where FDA

    2024年02月04日
    浏览(50)
  • MySQL数据库查询语句之组函数,子查询语句

    以组为操作单位,一组数据得到一个结果。 在没有手动分组的前提下,整张表默认为一组数据 max(列名):获取最大值 min(列名):获取最小值 sum(列名):获取总和 avg(列名):获取平均值 count(列名):统计值的个数 所有组函数都会自动忽略null值 在某些情况下,我们需要根据需要

    2024年01月23日
    浏览(60)
  • MySQL数据库高级查询语句

    基于这两个数据库表格来实现以下实验 concat(x,y)将提供的参数x和y拼接成一个字符串 trim()返回去除指定格式的值 GROUP BY 有一个原则,凡是在 GROUP BY 后面出现的字段,必须在 SELECT 后面出现; 凡是在 SELECT 后面出现的、且未在聚合函数中出现的字段,必须出现在 GROUP BY 后

    2024年02月11日
    浏览(70)
  • MySQL数据库——高级查询语句

    数据库是用来存储数据,更新,查询数据的工具,而查询数据是一个数据库最为核心的功能,数据库是用来承载信息,而信息是用来分析和查看的。所以掌握更为精细化的查询方式是很有必要的。本文将围绕数据的高级查询语句展开。 1.指定指字段进行查询——SELECT 语法:

    2024年02月11日
    浏览(94)
  • MySQL数据库——MySQL SELECT:数据表查询语句

    在 MySQL 中,可以使用 SELECT 语句来查询数据。查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。 SELECT 的语法格式如下: 其中,各条子句的含义如下: {*|字段列名} 包含星号通配符的字段列表,表示所要查询字段的

    2024年02月05日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包