MySQL学习笔记 ------ 条件查询
发布人:shili8
发布时间:2025-03-04 05:22
阅读次数:0
**MySQL 学习笔记 --- 条件查询**
条件查询是 MySQL 中非常重要的一部分,它允许我们根据特定的条件来筛选数据。通过使用条件查询,我们可以实现更灵活的数据检索。
###1. 简介条件查询是指在 SQL 查询中使用 WHERE 子句或 HAVING 子句来指定过滤条件,以便只返回满足这些条件的记录。
###2. WHERE 子句WHERE 子句用于过滤结果集中的行。它允许我们根据一个或多个列来选择数据。
**示例1: 使用 WHERE 子句**
sqlSELECT * FROM employeesWHERE salary >50000;
这个查询会返回所有工资超过50,000 的员工信息。
###3. 比较运算符在条件查询中,我们经常使用比较运算符来过滤数据。这些运算符包括:
* `=` : 等于* `<>` 或 `!=` : 不等于* `>` : 大于* `<` : 小于* `>=` : 大于或等于* `<=` : 小于或等于**示例2: 使用比较运算符**
sqlSELECT * FROM employeesWHERE salary >=60000 AND department = 'IT';
这个查询会返回所有工资超过60,000 的 IT 部门员工信息。
###4. 逻辑运算符在条件查询中,我们也可以使用逻辑运算符来组合多个条件。这些运算符包括:
* `AND` : 与* `OR` : 或* `NOT` : 非**示例3: 使用逻辑运算符**
sqlSELECT * FROM employeesWHERE (salary >50000 AND department = 'IT') OR (age < 30);
这个查询会返回所有工资超过50,000 的 IT 部门员工信息或年龄小于30 的员工信息。
###5. IN 和 NOT ININ 和 NOT IN 子句用于指定一个值列表,以便只返回满足这些值之一的记录。
**示例4: 使用 IN 子句**
sqlSELECT * FROM employeesWHERE department IN ('IT', 'Marketing');
这个查询会返回所有 IT 或 Marketing 部门员工信息。
###6. BETWEENBETWEEN 子句用于指定一个范围,以便只返回满足这个范围的记录。
**示例5: 使用 BETWEEN 子句**
sqlSELECT * FROM employeesWHERE salary BETWEEN40000 AND60000;
这个查询会返回所有工资在40,000 到60,000 之间的员工信息。
###7. LIKELIKE 子句用于指定一个模式,以便只返回满足这个模式的记录。它允许我们使用通配符来匹配数据。
**示例6: 使用 LIKE 子句**
sqlSELECT * FROM employeesWHERE name LIKE '%John%';
这个查询会返回所有包含 "John" 的员工信息。
###8. IS NULL 和 IS NOT NULLIS NULL 和 IS NOT NULL 子句用于指定一个值是否为 NULL,以便只返回满足这个条件的记录。
**示例7: 使用 IS NULL 子句**
sqlSELECT * FROM employeesWHERE salary IS NULL;
这个查询会返回所有工资为 NULL 的员工信息。
###9. HAVINGHAVING 子句用于过滤分组后的结果集。它允许我们根据一个或多个列来选择数据。
**示例8: 使用 HAVING 子句**
sqlSELECT department, AVG(salary) AS avg_salaryFROM employeesGROUP BY departmentHAVING AVG(salary) >50000;
这个查询会返回所有部门的平均工资超过50,000 的信息。
### 总结条件查询是 MySQL 中非常重要的一部分,它允许我们根据特定的条件来筛选数据。通过使用 WHERE 子句、逻辑运算符、IN 和 NOT IN 子句、BETWEEN 子句、LIKE 子句、IS NULL 和 IS NOT NULL 子句以及 HAVING 子句,我们可以实现更灵活的数据检索。
**参考**
* MySQL 官方文档:[ />* W3Schools:[