在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查询的基础。