当前位置:实例文章 » 其他实例» [文章]MySQL-DQL-基本查询

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 基本查询的主要内容。这些基本查询语句可以帮助你获取所需的信息,并且可以组合起来使用,以满足更复杂的需求。

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

其他资源

Top