Skip to content

SQL Select

SELECT 语句是 SQL 的基石,用于从一个或多个数据库表中检索数据。

SELECT 语句的主要目的是查询数据库并获取符合指定条件的数据。返回的数据存储在一个临时的结果表(通常称为结果集)中。

选择表中的特定列:

SELECT column1, column2, … FROM table_name;

选择表中的所有列:

SELECT * FROM table_name;

虽然 SELECT * 对于探索数据很方便,但在生产代码中,最佳实践通常是只指定所需的列。这样做可以提高性能,并使查询更容易维护,因为即使表结构发生变化,它们也不太可能中断。

我们将使用 Northwind 示例数据库中的 “Customers” 表进行示例。

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la C…México D.F.05021Mexico
…

以下 SQL 语句从 “Customers” 表中选择 “CustomerName” 和 “City” 列:

SELECT CustomerName, City
FROM Customers;

这将返回一个包含所有客户的 CustomerName 和 City 两列的结果集。

以下 SQL 语句从 “Customers” 表中选择所有列:

SELECT *
FROM Customers;

这将返回一个包含 Customers 表中所有列和所有行的结果集。

执行 SELECT 查询时,数据库会返回一个结果集。在应用程序编程中(例如,使用 Python、Java、C#、PHP),通常使用数据库连接器或库来与结果集交互。这些库提供以下功能:

  • 遍历结果集的行,通常是一次一行。
  • 按列名或索引访问当前行中特定列的数据。
  • 检查是否还有更多行可供处理。
  • 检索关于结果集的元数据,例如列名和数据类型。

具体的方法和函数名称因编程语言和所使用的特定数据库驱动程序或对象关系映射器 (ORM) 而异。有关详细示例,请查阅您所选技术栈的文档(例如,用于 PostgreSQL 的 Python psycopg2、Java JDBC、PHP PDO)。

深入学习:探索可与 SELECT 一起使用的其他子句,例如 WHERE(用于过滤行)、ORDER BY(用于对结果进行排序)、GROUP BY(用于聚合)和 JOIN(用于组合来自多个表的数据)。