SQL必知必会(三)

简介: 作用是从一个或多个表中检索信息

SELECT语句

作用是从一个或多个表中检索信息

检索单个列


SELECT column FROM table;


该SQL语句的意思从某表中检索某一字段(列)的数据

注意:

1.SQL语句必须以分号作为结束标识,尤其在执行多条SQL语句的时候

2.SQL不区分大小写,这里根据开发习惯来规定,一般情况下用大写

3.在处理SQL语句,其中所有空格都会被忽略,一般建议通过空格或者换行方便阅读和调试

检索多个列


SELECT column1,column2,column3 FROM table;


跟检索单个列不同的是,我们需要将要查的列用逗号分割开(最后一个字段后面不加都好)

检索全部列

这里我们用通配符*来实现检索全部列


SELECT * FROM table;


通配符*标识返回全部列,列的顺序一般是表中定义的物理顺序

注意:

1.我们开发中坚决杜绝使用通配符去查找所有列(敲黑板!!!),如果需要查询所有字段,我们必须一个一个把字段全部写出去进行查找。使用通配符*会极大降低SQL执行性能

2.开发的原则是需要什么数据去拿什么数据,不去拿跟业务无关的数据以消耗磁盘IO

检索不同的值


SELECT DISTINCT column FROM table;


DISTINCT关键字表示数据库只返回不同的值

注意:

DISTINCT作用于所有列。如果是检索多行数据,使用DISTINCT会检索过滤这几个字段全部都相同的字段,后续随着进度的深入会补充对应的优化方案

限制返回结果

SQLServer、Oracle、Mysql对这部分限制语法有各自的写法未做统一,这里采用Mysql的语法进行解释


SELECT * FROM table LIMIT 1,1;


该SQL语句的意思是返回从第1行开始一共1行数据

注意:LIMIT 1,1中第一个被检索行元素下标是从第0行开始的,因此第一行是从0开始,1实际上在数据库中表示的是第2行

检索排序

本质上,检索的数据并不是随机显示的,如果不排序,数据一般将会按照它底层表中出现的顺序进行显示,有可能会是数据最初添加的顺序。但是如果数据随后进行过更新或删除,那么这个顺序有可能不依赖该排序顺序。关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有任何意义。

ORDER BY

通常我们使用ORDER BY来实现对检索结果的排序


SELECT * FROM table ORDER BY column;


该SQL语句表示查询结果根据column进行排序

注意:

1.ORDER BY子句的位置,在指定一条ORDER BY子句时,应该保证它是SELECT语句的最后一条语句,如果不是最后的语句,将会出现错误消息

2.通常我们是选择使用要显示的列进行排序,但是实际上并不一定要这样,用非检索的列排序也是完全可以的

按多个列进行排序


SELECT * FROM table ORDER BY column1,column2;


指定列名,列名之间用逗号隔开即可。

我们需要注意的是,按多个列进行排序的时候,排序的顺序按照顺序进行规定,如果出现相同的column1,则开始使用column2进行排序,否则默认还是从第一个字段开始排序

指定排序方向

ORDER BY默认采用升序排序(ASC),如果想要采用降序排序,我们可以使用关键字DESC


SELECT * FROM table ORDER BY column DESC;


注意:

1.DESC只作用到位于其前面的列名

2.对于多个字段排序,如果要在每一列进行降序排序,必须每个字段指定DESC关键字

相关文章
|
2月前
|
SQL HIVE
每天一道大厂SQL题
每天一道大厂SQL题
46 1
每天一道大厂SQL题
|
2月前
|
SQL 存储 关系型数据库
什么是SQL?
什么是SQL?
32 0
|
9月前
|
SQL 网络协议 数据库
sql总结喔
sql总结喔
|
2月前
|
SQL 关系型数据库 MySQL
盘点6个SQL小技巧
这篇内容介绍了数据库查询中的各种JOIN操作,包括内联接(inner join)、左外联接(left outer join)、右外联接(right outer join)和全联接(full outer join)。其中,LEFT JOIN可以用于替换NOT EXISTS和NOT IN的查询。接着,文章展示了如何查询每个类别中的最高分记录,以及如何利用GROUP BY和LIMIT获取每个类别中的前N个记录。此外,还提到了MySQL 8引入的新语法LATERAL JOIN,用于更方便地处理这类问题。最后,文章提到了如何高效地统计不同时间范围内的数据量以及对比两个表之间的数据差异。
|
SQL 存储 数据库
SQL 能做什么?
SQL 能做什么?
91 0
|
SQL 网络协议 NoSQL
sql审核
sql审核
351 0
|
SQL Oracle 关系型数据库
一个需求的三种实现(sql)
一个需求的三种实现(sql)
一个需求的三种实现(sql)
|
存储 SQL NoSQL
SQL必知必会(一)
对于我们而言,数据库是一个以某种有组织的方式存储的数据集合。最简单的办法就是将数据库想象成一个文件柜。这个文件柜是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的。 数据库(DataBase) 保存有组织数据的容器(通常为一个或一组文件)
|
SQL 存储 搜索推荐
几个SQL问题
几个SQL问题
119 0
|
SQL Go 移动开发
常用SQL收藏
原文:常用SQL收藏 MSSQL Split表字段 --拆分字符串之后匹配结果集合 CREATE FUNCTION [dbo].[fnSplit]( @sInputList VARCHAR(8000) -- List of delimited items , @sDelimi...
770 0

热门文章

最新文章