第八篇:SQL语法-DQL-数据查询语言

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

DQL英文全称是Data QueryLanguage(数据查询语言),用来查询数据库中表的记录

查询关键字:select

DQL主要包含以下操作

  • 基本查询
  • 条件查询
  • 分组查询

一,基本查询

(一)查询指定字段

在select之后指定字段名,如果有多个则用逗号分隔,用于查询表中指定字段的数据

select 字段列表 from 表名;

在select之后使用【通配符*】,用于查询同一组数据中所有字段的数据

(说明:在实际项目开发中不建议使用【通配符*】的方式来查询所有字段

原因,一是不直观,二是效率不高

因此实际开发若需要查询所有字段时,最好手动罗列出所有字段)

select * from 表名;

(二)设置别名(as关键字)

在查询指定字段命令的基础上,在字段名后面添加【as 字段别名】,该选项用于让查询结果按照别名来显示对应的字段名

select 字段名1 as 字段1别名, 字段名2 as 字段2别名... from 表名;

且as关键字可以省略不写(即直接在字段名后面写上别名),不影响命令使用

select 字段名1 字段1别名, 字段名2 字段2别名... from 表名;

(三)去除重复记录(distinct关键字)

在查询指定字段命令的基础上,在select后面添加【distinct】关键字,该选项用于筛选查询结果,去除重复的数据

select distinct 字段列表 from 表名;

二,条件查询(where关键字)

在查询指定字段命令的基础上,在表名之后添加【where】关键字,该选项用于筛选满足条件的查询结果

select 字段列表 from 表名 where 条件;

条件归纳

其中,where条件是很多命令通用的,因此博主专门归纳了一篇,详见本篇->SQL语法-where关键字的条件解析-CSDN博客


 三,分组查询(group by关键字)

聚合函数

分组查询常常配合聚合函数使用,聚合函数是什么呢?

聚合函数用于对数据进行汇总和计算,可以在SELECT语句中用于对数据进行统计和分析,帮助用户快速获取关键信息,例如总计、平均值、最小值和最大值等,常用的聚合函数包含以下几种:

(注:值为NULL的数据不参与聚合函数的运算

  1. count():计算满足特定条件的行数
  2. sum():对指定列的总和进行计算
  3. avg():计算指定列的平均值
  4. max():返回指定列的最大值
  5. min():返回指定列的最小值

例如需要统计一张students表中地址为"四川"的数据的数量,可以使用命令【select count(address="四川") from students;

分组查询语法

在查询指定字段命令的基础上,使用【group by】关键字将查询结果分组,值相同的会被分到同一组,例如按性别分组,最终结果就是男性一组、女性一组

(注:<尖括号>内的内容是可选项,<having 分组后过滤条件>用来对分组后的结果进行二次筛选

执行顺序:where > 聚合函数 > having,分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义)

select 字段列表 from 表名 <where 条件> group by 指定分组字段名 <having 分组后过滤条件>;

where与having区别

  • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
  • 判断条件不同:where不能对聚合函数进行判断,而having可以

四,排序查询(order by关键字)

在查询指定字段命令的基础上,使用【order by】关键字对查询结果按照指定的字段来排序,其中排序方式的关键字分为两种:

  • 升序:【asc
    select 字段列表 from 表名 limit 起始索引, 一页显示记录数;
  • 降序:【desc
select 字段列表 from 表名 order by 字段名1 排序方式1, 字段名2 排序方式2;

例如需要对年龄进行升序排序,如果年龄相同再进一步按照身高排序,可以使用命令【select * from users order by age asc, height desc;】,其中age asc会先按照年龄升序排,height desc会在年龄相同的基础上按照身高降序排


五,分页查询(limit关键字)

在查询指定字段命令的基础上,使用【limit】关键字对查询结果分页显示,可以指定一页的数据的显示数量

  • 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数
  • 如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10
  • 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT
  • 个人理解:所谓的起始索引(记作n)和查询记录数(记作m),可以看成是:从第n+1条数据开始,查询m条数据,最终显示的记录数等于或小于m(最后一页记录数可能不足m)
select 字段列表 from 表名 limit 起始索引, 查询记录数;

例如需要查询第一页的数据,每页显示10条记录,可以用命令【select * from users limit 0, 10】,因为是第一页,其中的起始索引0也可以省略不写

例如需要查询第二页的数据,每页显示10条记录,可以用命令【select * from users limit 10, 10】<-对于这个例子,可以按照公式【起始索引 = (查询页码 - 1)* 每页显示记录数】计算理解,也可以理解成从【第n+1条(第11条)数据开始,查询m条(10条)数据】,那么最终显示出来的记录的索引范围就是[10, 19](闭区间),即第11条到20条数据(如果存在的话)


六,DQL-编写顺序与执行顺序

因为DQL语句存在众多关键字,因此对编写顺序的规范以及执行顺序的逻辑要求严格

(图片来源->22. 基础-SQL-DQL-执行顺序_哔哩哔哩_bilibili视频2分10秒处)

第八篇:SQL语法-DQL-数据查询语言,数据库,sql,数据库文章来源地址https://www.toymoban.com/news/detail-829229.html

到了这里,关于第八篇:SQL语法-DQL-数据查询语言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【MySQL进阶之路丨第八篇】MySQL数据的插入及查询

    在上一篇中我们介绍了数据表的创建和删除;在开发中,了解数据库中数据的运行方式、运行逻辑是十分重要的。 这一篇我们使用命令行方式来帮助读者掌握MySQL数据的插入及查询。 上一篇链接: MySQL | 数据表的创建与删除 在MySQL数据库中,使用 INSERT INTO 语句来插入数据。

    2024年02月08日
    浏览(50)
  • [JavaWeb]SQL介绍-DQL查询数据

    DQL查询基础的语法结构如下: 说明 语法 查询多个字段 SELECT 字段列表 FROM 表名; SELECT * FROM 表名; -- 查询所有数据 去除重复记录 SELECT DISTINCT 字段列表 FROM 表名; 起别名 列名 AS 别名 (AS也可以省略) 条件查询的语法很简单但是要结合不同的条件表达式去使用 SELECT 字段列表 FRO

    2024年02月14日
    浏览(46)
  • SQL-DML、DQL查询数据

    DML主要是对数据进行 增 ( insert ) 删 ( delete ) 改 ( update )操作。 1.1 添加数据 给指定列添加数据 给全部列添加数据 批量添加数据 1.2 修改数据 修改表数据 注意: 修改语句中如果不加条件, 则将所有数据都修改 ! 像上面的语句中的中括号,表示在写sql语句中可以省略

    2024年02月08日
    浏览(81)
  • 学习笔记-数据查询语言DQL

    1.基本语法 2.数据准备 3.简单查询 4.条件查询 (1)比较查询 (2).范围查询 (3).逻辑查询 (4).模糊查询 (5).非空查询 5.排序查询 ASC 升序 (默认) DESC 降序 6.聚合查询 7.分组查询 having与where的区别: 1).having是在分组后对数据进行过滤,where是在分组前对数据进行过滤 2).having后面可以使用分

    2024年02月02日
    浏览(64)
  • MySQL数据库基础(十):DQL数据查询语言

    文章目录 DQL数据查询语言 一、数据集准备 二、select查询 三、简单查询 四、条件查询 1、比较查询 2、范围查询 3、逻辑查询 4、模糊查询 5、非空查询 五、排序查询 六、聚合查询 七、分组查询与having子句 1、分组查询介绍 2、group by的使用 3、group by + 聚合函数的使用 4、gro

    2024年02月21日
    浏览(44)
  • 【MySQL】数据库的查询语言DQL

    目录 前言: 一.基本查询 1.1查询多个字段 1.2设置别名 1.3去除字段中重复的值 二.条件查询 2.1条件的种类 2.1.1比较运算符 2.1.2逻辑运算符 三.结尾   在前面讲完了如何增删改数据表中的记录后,那么如何使用这些数据就成了另一个重点。   当我们浏览网站的时候,商品的各种

    2024年02月08日
    浏览(44)
  • Mysql 数据库DQL 数据查询语言 SELECT 基本查询、条件查询、聚合查询、分组查询、排序查询、分页查询——包含DQL所有查询语句。吐血分享。

    DQL:数据查询语言; 用来对表内的数据进行查找 。Database Query Language SQL语句分为:基本查询、条件查询、聚合查询、分组查询、排序查询、分页查询。  可以发现name字段就只剩下一个张三了;   条件: 条件查询—比较运算符 比较运算符 功能 大于 = 大于等于 小于 = 小于等

    2024年01月19日
    浏览(56)
  • MySQl数据库第八课-------SQL命令查询-------主要命脉

     欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com —————————————————————————————— 查询数据         条件         逻辑运算符         模糊查询         范围查询 in         判断空 UNION  排序 聚合 分组:gro

    2024年02月16日
    浏览(53)
  • SQL语言 --- 数据查询

    SELECT [ALL | DISTINCT] 目标列表达式 [,目标列表达式]… FROM 表名或视图名 [,表名或视图名]… |(SELECT语句)[AS] 别名 [WHERE 条件表达式] [GROUP BY 列名1 [HAVING 条件表达式]] [ORDER BY 列名2 [ASC | DESC]]; (1)SELECT子句:指定要显示的属性列; (2)FROM子句:指定查询对象(基本表或视图)

    2024年02月01日
    浏览(70)
  • 6、【MySQL】使用DQL命令查询数据(二)

    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:乐趣国学的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:MySQL数据库学习之旅 ✨特色专栏:国学周更-心性养成之路 🥭本文内容:【MySQL】使用DQL命令查询数据(二) 更多内

    2023年04月08日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包