简单查询语法
# 简单查询语法
# 查询列的语句
# 查询单个列
查看某个表中的某一列的数据,语法格式如下:
SELECT 列名 FROM 表名;
列名为星号(*
)表示把记录中的所有列都查出来。有时候会很方便,但是查询不需要的列通常会降低性能,视情况而用吧。
# 列的别名
可以为结果集中的列重新定义一个别名,语法格式如下:
SELECT 列名 [AS] 列的别名 FROM 表名;
这里的 AS
加了个中括号,意思是这个指定别名的语法中,AS
这个单词是可有可无的(不过我觉得加上这个单词可以增加可读性)。
定义别名后,用 SELECT 语法查询出来的结果里,原列名就被别名替代了。不过别名只在本次查询得到的结果集中展示,并不会改变真实表中的列名。下一次查询中取其他的别名也可以。
# 查询多个列
如果想查询多个列的数据,可以在 SELECT
后边写多个列名,用逗号 ,
分隔开就好:
SELECT 列名1, 列名2, ... 列名n FROM 表名;
查询语句中的列名可以按任意顺序摆放,结果集将按照我们指定的列名顺序显示。
# 查询结果去重
# 去除单列的重复结果
有的时候我们查询某个列的数据时会有一些重复的结果,比如我们查询 student_info
表的学院信息,会有重复的学院名。
如果想去除重复结果的话,可以将 DISTINCT
放在被查询的列前面,语法格式如下:
SELECT DISTINCT 列名 FROM 表名;
这样的结果集里,就只剩下不重复的信息了,比如从学生表里查一下这个学校一共有哪些学院。
# 去除多列的重复结果
对于查询多列的情况,两条结果重复的意思是:两条结果的每一个列中的值都相同。比如查询学院和专业信息,这两个列的值都相同(都是 计算机学院
下面的 软件工程
专业)。
如果想对多列查询的结果去重的话,可以直接把 DISTINCT
放在被查询的列的最前面:
SELECT DISTINCT 列名1, 列名2, ... 列名n FROM 表名;
# 限制查询结果条数
在查询语句的末尾使用 LIMIT
关键字可以限制结果集中的记录条数。
LIMIT 开始行, 限制条数;
开始行
指的是我们想从第几行数据开始查询,从0
开始计数限制条数
是结果集中最多包含多少条记录
LIMIT
后面也可以只有一个参数,那这个参数就代表着限制行数,此时默认的开始行就是第 0
行。
# 对查询结果排序
MySQL 默认会按照数据底层存储的顺序来给我们返回数据,如果想让返回结果中的记录按照某种特定的规则排序,就必须显式地指定排序规则。
# 按照单个列的值进行排序
ORDER BY 列名 ASC|DESC
ASC
指按照指定列的值进行由小到大进行排序,也叫做升序DESC
指按照指定列的值进行由大到小进行排序,也叫做降序- 省略排序方向时默认时升序,即
ASC
# 按照多个列的值进行排序
同时指定多个排序的列,多个排序列之间用逗号 ,
隔开。
ORDER BY 列1 ASC|DESC, 列2 ASC|DESC ...
表示查询结果先按照 列1
排序,再按照 列2
排序。
# ORDER BY 结合 LIMIT
这两个语句结合使用时,ORDER BY
语句必须放在 LIMIT
语句前面:
SELECT * FROM 表名 ORDER BY 列1 LIMIT 1;
比如这条语句可以找出 列1
值最小的那条记录。
(完)