当前位置:实例文章 » 其他实例» [文章]MySQL-DQL-案例

MySQL-DQL-案例

发布人:shili8 发布时间:2025-01-13 01:36 阅读次数:0

**MySQL DQL 案例**

DQL(Data Query Language)是 MySQL 中用于从数据库中检索数据的语言。它提供了各种命令来查询、过滤和排序数据。在本文中,我们将通过实践案例来展示 DQL 的使用。

### 案例1:简单 SELECT假设我们有一个名为 `students` 的表,包含学生信息:

| id | name | age |
| --- | --- | --- |
|1 | 张三 |18 |
|2 | 李四 |19 |
|3 | 王五 |17 |

我们想从这个表中获取所有学生的姓名和年龄。

sqlSELECT name, age FROM students;


结果:

| name | age |
| --- | --- |
| 张三 |18 |
| 李四 |19 |
| 王五 |17 |

### 案例2:过滤数据我们想从 `students` 表中获取年龄大于18 的学生。

sqlSELECT * FROM students WHERE age >18;


结果:

| id | name | age |
| --- | --- | --- |
|2 | 李四 |19 |

### 案例3:排序数据我们想从 `students` 表中获取所有学生的姓名和年龄,按年龄降序排列。

sqlSELECT name, age FROM students ORDER BY age DESC;


结果:

| name | age |
| --- | --- |
| 李四 |19 |
| 张三 |18 |
| 王五 |17 |

### 案例4:分组和聚合我们想从 `students` 表中获取每个年龄段的学生人数。

sqlSELECT age, COUNT(*) AS student_count FROM students GROUP BY age;


结果:

| age | student_count |
| --- | --- |
|17 |1 |
|18 |1 |
|19 |1 |

### 案例5:连接表假设我们有两个表 `students` 和 `scores`,分别包含学生信息和成绩信息:

**students**

| id | name | age |
| --- | --- | --- |
|1 | 张三 |18 |
|2 | 李四 |19 |
|3 | 王五 |17 |

**scores**

| id | student_id | score |
| --- | --- | --- |
|1 |1 |90 |
|2 |1 |80 |
|3 |2 |95 |

我们想从这两个表中获取学生的姓名和成绩。

sqlSELECT s.name, sc.score FROM students s JOIN scores sc ON s.id = sc.student_id;


结果:

| name | score |
| --- | --- |
| 张三 |90 |
| 张三 |80 |
| 李四 |95 |

### 案例6:子查询我们想从 `students` 表中获取年龄大于平均年龄的学生。

sqlSELECT * FROM students WHERE age > (SELECT AVG(age) FROM students);


结果:

| id | name | age |
| --- | --- | --- |
|2 | 李四 |19 |

### 总结在本文中,我们通过实践案例展示了 MySQL DQL 的使用。从简单的 SELECT 到过滤、排序、分组和聚合,以及连接表和子查询,DQL 提供了各种命令来帮助我们从数据库中检索数据。

相关标签:mysql数据库
其他信息

其他资源

Top