MySQL DQL教程:掌握范围查询与BETWEEN操作

需积分: 16 3 下载量 42 浏览量 更新于2024-08-15 收藏 1.66MB PPT 举报
在本次课程中,我们主要学习的是MySQL中的DQL(Data Query Language),即数据查询语言,它是数据库操作中最核心、最重要的部分,也是使用频率最高的语句。通过掌握DQL,我们可以有效地从数据库中获取所需信息。课程的重点集中在如何使用SELECT语句进行单表查询、多表查询以及复杂的嵌套查询。 首先,我们要了解BETWEEN AND范围查询的语法,这是一种用于根据特定范围值筛选数据的方法。例如,在课程表中查找课时在110到120之间的记录,可以使用以下两种等效的SQL语句: 1. `SELECT * FROM subject WHERE ClassHour BETWEEN 110 AND 120;` 2. `SELECT * FROM subject WHERE ClassHour >= 110 AND ClassHour <= 120;` 这两种写法在效果上是相同的,都用于选取ClassHour字段值在110到120之间的所有记录。 接下来,我们详细解析SELECT语句的基本结构: `SELECT [ALL | DISTINCT] {* | table.* | [table.field1[as alias1][, table.field2[as alias2]][,…]]} FROM table_name [as table_alias] [left | out | inner JOIN table_name2] #联合查询 [WHERE…] #指定结果需满足的条件 [GROUP BY…] #指定结果按照哪几个字段来分组 [HAVING…] #过滤分组的记录必须满足的次要条件 [ORDER BY…] #指定查询记录按一个或者多个条件排序 [LIMIT {[offset,] row_count | row_count OFFSET offset};] #指定查询的记录从哪条至哪条` 这个结构包含了各种可选和必须的子句,用于定制我们的查询。例如: - `SELECT`后面可以跟`ALL`(默认,包含所有记录)或`DISTINCT`(去除重复行)关键字。 - `FROM`后接表名,可以加上别名以简化代码。 - `WHERE`子句用于设置基本的查询条件。 - `JOIN`用于连接两个或更多表,例如`LEFT JOIN`、`OUTER JOIN`或`INNER JOIN`。 - `GROUP BY`对查询结果进行分组,通常与聚合函数(如COUNT、SUM、AVG等)一起使用。 - `HAVING`是对`GROUP BY`后的结果集进行过滤的条件,它与`WHERE`不同,`WHERE`作用于原始记录,而`HAVING`作用于分组后的记录。 - `ORDER BY`用于对查询结果进行排序,可以指定一个或多个字段和排序方向(ASC或DESC)。 - `LIMIT`用于限制返回的记录数量,可以指定偏移量(OFFSET)和记录数(row_count)。 学习这些基本元素后,你可以根据实际需求构建复杂的查询,比如查询特定字段,忽略某些字段,或者结合多个条件进行筛选。例如,如果我们只想查询学生表中名字以"A"开头的前5个学生的ID和姓名,可以写成: `SELECT ID, Name FROM student WHERE Name LIKE 'A%' ORDER BY Name LIMIT 5;` 在这个例子中,`LIKE`关键字用于模式匹配,`'A%'`表示任何以"A"开头的字符串。通过`ORDER BY`将结果按姓名排序,`LIMIT`则限制返回5条记录。 通过熟练掌握这些DQL语法和技巧,你可以更高效地管理和操作数据库中的数据,满足各种业务需求。不断实践和学习,将使你在数据库查询领域更加专业。