学习笔记 | Ch02-03 检索数据 select
发布日期:2021-07-25 15:44:01 浏览次数:10 分类:技术文章

本文共 1812 字,大约阅读时间需要 6 分钟。

第2课 检索数据

  • 介绍如何使用SELECT语句从表中检索一个或多个数据列。

2.1 SELECT语句

SELECT语句,是从一个或多个表中检索信息。

  • 关键字keyword:作为SQL组成部分的保留字。关键字不能用作表或列的名字。
  • 为了使用SELECT检索表数据,必须至少给出两条信息——想选择什么,以及从什么地方选择。
    在这里插入图片描述

2.2 检索单个列

列名写在SELECT关键字之后,FROM关键字指出从哪个表中检索数据。

  • 多条SQL语句必须以分号;分割。
  • SQL语句不区分大小写。许多SQL开发人员喜欢对SQL关键字使用大写,而对列名和表名使用小写,这样做使代码更易于阅读和调试。
  • 虽然SQL是不区分大小写的,但是表名、列名和值可能有所不同。
  • 多数SQL开发人员认为,将SQL语句分成多行更容易阅读和调试。

2.3 检索多个列

唯一不同的是必须在SELECT关键字后给出多个列名,列名之间必须以逗号分割。

  • ⚠️提示:当心逗号 | 在选择多个列时,一定要在列名之间加上逗号,但最后一个列名后不加。
  • ⚠️提示:数据表示 | SQL语句一般返回原始的、无格式的数据。数据的格式化是表示问题,而不是检索问题。

2.4 检索所有列

  • 在实际列名的位置使用星号*通配符,则返回表中所有列。
  • 列的顺序一般是列在表定义中出现的物理顺序,但并不总是如此。

2.5 检索不同的值

使用DISTINCT关键字,指示数据库只返回不同的值。

如果使用DISTINCT关键字,它必须直接放在列名的前面。

  • ⚠️注意:不能部分使用DISTINCT | DISTINCT作用于所有列,不仅仅是跟在其后的那一列。

2.6 限制结果

  • 各种数据库中的这一SQL实现并不相同。

如果使用MysqlMariaDBPostgreSQL或者SQLite,需要使用LIMIT子句。

  • LIMIT 5;指示MySQLDBMS返回不超过5行的数据。
  • LIMIT 5 OFFSET 5;指示MySQLDBMS返回从第5行起的5行数据。第一个数字是检索的行数,第二个数字是指从哪儿开始。
  • LIMIT指定返回的行数。LIMIT带的OFFSET指定从哪儿开始。
提示:MySQLMariaDBSQLite捷径
  • MySQLMariaDBSQLite支持简化版的LIMIT 4 OFFSET 3语句,即 LIMIT3,4。使用这个语法,逗号之前的值对应OFFSET,逗号之后的值对应LIMIT

2.7 使用注释

  • 注释使用--(两个连字符)嵌在行内。--之后的文本就是注释。
  • 在一行的开始处使用#,这一整行都将作为注释。
  • 多行注释,注释可以在脚本的任何位置停止和开始。注释从/* 开始,到 /结束,/* 和 */之间的任何内容都是注释。

2.8 小结

  • 这一课学习了如何使用SQLSELECT语句来检索单个表列、多个表列以及所有表列。你也学习了如何返回不同的值,如何注释代码。

第3课 排序检索数据

3.1 排序数据

ORDER BY子句取一个或多个列的名字,据此对输出进行排序。

  • ⚠️注意:ORDER BY子句的位置 | 在指定一条ORDER BY子句时,应该保证它是SELECT语句中最后一条子句。
  • 提示:通过非选择列进行排序 | 通常,ORDER BY子句中使用的列将是为显示而选择的列。但是,实际上并不一定要这样,用非检索的列排序数据是完全合法的。

3.2 按多个列排序

  • 要按多个列排序,简单指定列名,列名之间用逗号分开即可。

3.3 按列位置排序

  • 除了能用列名指出排序顺序外,ORDER BY还支持按相对列位置进行排序。
  • ORDER BY 2,3;对应前面的列。
  • 如果有必要,可以混合使用实际列名和相对列位置。

3.4 指定排序方向

  • 为了进行降序排列,必须指定DESC关键字。

DESC关键字只应用到直接位于其前面的列名。

  • ⚠️警告:在多个列上降序排序 | 必须对每一列指定DESC关键字。

  • DESCDESCENDING的缩写,这两个关键字都可以使用。与DESC相对的是ASC(或ASCENDING),在升序排序时可以指定它。默认是升序。

3.5 小结

  • 这一课学习了如何用SELECT语句的ORDER BY子句对检索出的数据进行排序。
  • 这个子句必须是SELECT语句中的最后一条子句。根据需要,可以利用它在一个或多个列上对数据进行排序。

参考资料

  • 《SQL必知必会》第2-3课

转载地址:https://blog.csdn.net/qq_34170700/article/details/103987887 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:学习笔记 | Ch 04-06 过滤数据
下一篇:学习笔记 | Ch01 了解SQL (Structured Query Language,结构化查询语言)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月13日 22时58分35秒