MySQL-DQL-基本查询
发布人:shili8
发布时间:2025-01-17 05:47
阅读次数:0
**MySQL DQL 基本查询**
DQL(Data Query Language)是 MySQL 中用于从数据库中检索数据的语言。它提供了各种基本查询语句,帮助我们获取所需的信息。
###1. SELECT语句SELECT语句用于从表中选择数据。基本形式如下:
sqlSELECT column_name(s) FROM table_name;
例如:
sqlSELECT * FROM employees;
上述语句会从 `employees` 表中选取所有列(即所有信息)。
###2. WHERE 子句WHERE 子句用于过滤数据,仅返回满足特定条件的行。基本形式如下:
sqlSELECT column_name(s) FROM table_nameWHERE condition;
例如:
sqlSELECT * FROM employeesWHERE salary >50000;
上述语句会从 `employees` 表中选取所有列,但仅返回工资超过50,000 的员工信息。
###3. ORDER BY 子句ORDER BY 子句用于对结果集进行排序。基本形式如下:
sqlSELECT column_name(s) FROM table_nameWHERE conditionORDER BY column_name ASC|DESC;
例如:
sqlSELECT * FROM employeesWHERE salary >50000ORDER BY salary DESC;
上述语句会从 `employees` 表中选取所有列,但仅返回工资超过50,000 的员工信息,并按降序(最高工资在最前面)排序。
###4. LIMIT 子句LIMIT 子句用于限制结果集的大小。基本形式如下:
sqlSELECT column_name(s) FROM table_nameWHERE conditionORDER BY column_name ASC|DESCLIMIT number;
例如:
sqlSELECT * FROM employeesWHERE salary >50000ORDER BY salary DESCLIMIT10;
上述语句会从 `employees` 表中选取所有列,但仅返回工资超过50,000 的员工信息,按降序排序,并只显示前10 条记录。
###5. GROUP BY 子句GROUP BY 子句用于对结果集进行分组。基本形式如下:
sqlSELECT column_name(s) FROM table_nameWHERE conditionGROUP BY column_name;
例如:
sqlSELECT department, AVG(salary) AS avg_salaryFROM employeesGROUP BY department;
上述语句会从 `employees` 表中选取部门和平均工资,并按部门进行分组。
###6. HAVING 子句HAVING 子句用于过滤分组后的结果集。基本形式如下:
sqlSELECT column_name(s) FROM table_nameWHERE conditionGROUP BY column_nameHAVING condition;
例如:
sqlSELECT department, AVG(salary) AS avg_salaryFROM employeesGROUP BY departmentHAVING AVG(salary) >50000;
上述语句会从 `employees` 表中选取部门和平均工资,并按部门进行分组,但仅返回平均工资超过50,000 的部门。
###7. JOIN 子句JOIN 子句用于连接两个或多个表。基本形式如下:
sqlSELECT column_name(s) FROM table1JOIN table2 ON condition;
例如:
sqlSELECT employees.name, departments.departmentFROM employeesJOIN departments ON employees.department_id = departments.id;
上述语句会从 `employees` 和 `departments` 表中选取员工姓名和部门名称,并连接两个表。
###8. UNION 子句UNION 子句用于合并两个或多个 SELECT语句的结果集。基本形式如下:
sqlSELECT column_name(s) FROM table1UNIONSELECT column_name(s) FROM table2;
例如:
sqlSELECT * FROM employeesWHERE salary >50000UNIONSELECT * FROM customersWHERE balance >1000;
上述语句会从 `employees` 和 `customers` 表中选取工资超过50,000 的员工和余额超过1,000 的客户,并合并两个结果集。
以上是 MySQL DQL 基本查询的主要内容。这些基本查询语句可以帮助你获取所需的信息,并且可以组合起来使用,以满足更复杂的需求。