基本查询 (SELECT)

概述

在关系数据库中,SELECT 语句是最常用的查询语句之一。它用于从数据库中检索数据,并将其返回给用户或应用程序。SELECT 语句的基本语法非常简单,但通过结合其他子句(如 WHERE、ORDER BY、GROUP BY 等),可以实现复杂的查询操作。

基本语法

SELECT 语句的基本语法如下:

SELECT 列名1, 列名2, ...
FROM 表名
WHERE 条件;
  • SELECT:指定要检索的列。可以使用 * 表示所有列。
  • FROM:指定数据来源的表。
  • WHERE:可选子句,用于过滤数据。

示例

假设我们有一个名为 employees 的表,结构如下:

| employee_id | first_name | last_name | department | salary | |-------------|------------|-----------|------------|--------| | 1 | John | Doe | HR | 50000 | | 2 | Jane | Smith | IT | 60000 | | 3 | Alice | Johnson | Finance | 55000 |

我们可以使用以下查询来检索所有员工的 first_name 和 last_name:

SELECT first_name, last_name
FROM employees;

结果将是:

| first_name | last_name | |------------|-----------| | John | Doe | | Jane | Smith | | Alice | Johnson |

使用 * 选择所有列

如果你想检索表中的所有列,可以使用 *:

SELECT *
FROM employees;

这将返回 employees 表中的所有数据。

使用 WHERE 子句过滤数据

WHERE 子句用于根据特定条件过滤数据。例如,我们只想检索 department 为 IT 的员工:

SELECT *
FROM employees
WHERE department = 'IT';

结果将是:

| employee_id | first_name | last_name | department | salary | |-------------|------------|-----------|------------|--------| | 2 | Jane | Smith | IT | 60000 |

使用 ORDER BY 排序数据

ORDER BY 子句用于对结果集进行排序。默认情况下,排序是升序的(ASC),但你也可以指定降序(DESC)。

例如,按 salary 降序排列员工:

SELECT *
FROM employees
ORDER BY salary DESC;

结果将是:

| employee_id | first_name | last_name | department | salary | |-------------|------------|-----------|------------|--------| | 2 | Jane | Smith | IT | 60000 | | 3 | Alice | Johnson | Finance | 55000 | | 1 | John | Doe | HR | 50000 |

使用 LIMIT 限制结果集

LIMIT 子句用于限制返回的行数。这在处理大数据集时非常有用。

例如,只返回前两名员工:

SELECT *
FROM employees
LIMIT 2;

结果将是:

| employee_id | first_name | last_name | department | salary | |-------------|------------|-----------|------------|--------| | 1 | John | Doe | HR | 50000 | | 2 | Jane | Smith | IT | 60000 |

实践练习

练习 1

编写一个查询,检索 employees 表中所有 department 为 Finance 的员工的 first_name 和 last_name。

练习 2

编写一个查询,检索 employees 表中 salary 最高的员工的详细信息。

练习 3

编写一个查询,检索 employees 表中所有员工的 first_name 和 last_name,并按 last_name 升序排列。

练习 4

编写一个查询,检索 employees 表中前两名 salary 最高的员工的详细信息。

总结

SELECT 语句是 SQL 中最基本也是最强大的查询语句之一。通过结合 WHERE、ORDER BY、LIMIT 等子句,你可以灵活地检索和过滤数据。掌握这些基本操作是进一步学习 SQL 的基础。

在接下来的课程中,我们将深入探讨更多高级查询技巧,如 GROUP BY、JOIN、子查询 等。