MySQL基础:单表无条件查询与去重操作详解

需积分: 17 0 下载量 20 浏览量 更新于2024-08-07 收藏 3KB MD 举报
在MySQL的基础学习中,单表无条件查询是SQL语句中最基础的操作之一。这种查询不设定任何特定的条件,旨在获取表中的全部或者部分数据。本文将详细介绍如何使用SQL语法执行此类查询。 首先,我们来看一下单表无条件查询的基本语法结构: ```sql SELECT[ALL|DISTINCT] 表达式列表 FROM 表名 [ORDER BY 表达式列表 [ASC|DESC]] [LIMIT 起始行, 返回的行数]; ``` - `SELECT`: 这部分用于指定要查询的列或字段,`ALL`表示返回所有列,`DISTINCT`则返回唯一的值(去除重复)。 - `FROM`: 指定要查询的表名。 - `ORDER BY`: 可选,用于对结果进行排序,可以按一个或多个表达式,`ASC`表示升序,`DESC`表示降序,默认为升序。 - `LIMIT`: 用于限制返回的行数,格式为`起始行, 返回的行数`,如`LIMIT 0, 5`表示从第一条开始取5条数据。 接下来,我们将通过几个示例来演示这些概念的应用: 1. **筛选学生表信息(年龄降序,取前5条)**: ``` SELECT ALL stu_no, stu_name, stu_sex, stu_birth, class_no, stu_addr FROM student ORDER BY stu_birth DESC LIMIT 0, 5; ``` 或者简写为: ``` SELECT * FROM student ORDER BY stu_birth ASC LIMIT 0, 5; ``` 2. **查询所有学生的姓名**: ``` SELECT ALL stu_name FROM student; ``` 3. **查询去除重复的学生姓名**: ``` SELECT DISTINCT stu_name FROM student; ``` 4. **查询学生姓名和性别,去除重复记录**: ``` SELECT DISTINCT stu_name, stu_sex FROM student; ``` 5. **查询教师名称,按名称升序排序**: ``` SELECT teach_name AS '教师名称' FROM teacher ORDER BY teach_name ASC; ``` 6. **查询教师工号和姓名,按名称降序排序**: ``` SELECT teach_no '工号', teach_name AS '教师名称' FROM teacher ORDER BY teach_name DESC; ``` 这些例子涵盖了单表无条件查询的常用场景,包括基本的列选择、排序和限制返回行数。在实际应用中,根据需求灵活运用这些语法,可以轻松获取和处理数据库中的数据。对于初学者来说,理解并熟练掌握这些基本操作是迈向更高级SQL查询的基础。