在《MySql003——结构化查询语言SQL基础知识》中,我们学习了有关SQL的基础知识,也知道SQL中查询语句SELECT使用最为频繁
接下来我们将学习一些基本的SELECT查询语句
一、SELECT语句的通用语法
在MySQL数据库中,使用SELECT语句可以查询数据库中的数据。以下是SELECT语句的通用语法:
SELECT column1 [AS 别名], column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column_name [ASC|DESC]]
[LIMIT number][ OFFSET number];
其中,方括号表示可选部分。以下是对各个部分的解释:
- column1, column2, ...:要查询的列名,用逗号分隔。可以使用通配符- *表示选择所有列。
- AS 别名:给当前列起别名。
- table_name:要查询的表名。
- WHERE condition(可选):选择满足指定条件的数据行。条件是一个逻辑表达式,可以使用比较运算符(如- =、- <、- >等)、逻辑运算符(如- AND、- OR等)和通配符(如- %)。
- ORDER BY column_name [ASC|DESC](可选):按指定的列对结果进行排序,可以选择升序(ASC,默认)或降序(DESC)。
- LIMIT number(可选):限制返回结果的行数。
- OFFSET number(可选)指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
二、基本SELECT语句的示例
2.1、 查询所有行的指定列的数据:
 
SELECT column1, column2, ...
FROM table_name;
实例:从user表中查询user_id和user_name字段对应的所有数据
 
2.2、 查询所有行的所有列的数据:
 
SELECT *
FROM table_name;
实例:查询user表中所有数据
 
2.3、 使用WHERE子句查询满足条件的数据:
 
SELECT column1, column2, ...
FROM table_name
WHERE condition;
实例:查询user表中index大于等于2的所有数据
 
2.4、 使用ORDER BY子句查询并排序结果:
 
-- 结果按升序返回
SELECT column1, column2, ...
FROM table_name
ORDER BY column_name ASC;  -- 升序
/*
ORDER排序,BY通过,column_name列名,ASC按升序
连起来就是:查询的返回结果,通过column_name列,按升序排序
*/
实例:查询user表中index大于等于2的所有数据,结果按照user_id从小到大升序返回
 
-- 结果按降序返回
SELECT column1, column2, ...
FROM table_name
ORDER BY column_name DESC;  -- 降序
--连起来就是:查询的返回结果,通过column_name列,按降序排序
实例:查询user表中index大于等于2的所有数据,结果按照user_id从大到小降序返回
 
2.5、 使用LIMIT限制返回结果的行数:
 
SELECT column1, column2, ...
FROM table_name
LIMIT number;
实例:查询user表中index大于等于2的所有数据,结果按照user_id从大到小降序,且限制只返回第一条数据
 
2.6、 使用AS给列起别名
 
- 使用AS可以给查询结果列起别名
- AS可以省略(不推荐)
- 别名使用双引号引起来(也可以不使用,但是推荐使用)

2.7、使用关键字DISTINCT去除重复行
 
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。
DISTINCT 关键词用于返回唯一不同的值。
如下图所示,原始表格中3,4,5行的index和user_name字段值重复了
 
SELECT DISTINCT 语法
SELECT DISTINCT column_name,column_name
FROM table_name;
现在我们使用关键字DISTINCT去除重复行
 






![[C++项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍...](https://img-blog.csdnimg.cn/img_convert/a0d24a580831ed4856a2c7d8331b55e8.png)












