使用SQL查询检索数据:介绍SELECT语句

结构化查询语言为数据库用户提供了强大而灵活的数据检索机制 - SELECT语句。 在本文中,我们将看看SELECT语句的一般形式,并组合一些示例数据库查询。 如果这是您首次涉足结构化查询语言的世界,您可能希望在继续之前查看文章SQL 基础知识

如果你想从头开始设计一个新的数据库,那么在SQL中创建数据库和表格应该是一个很好的起点。

现在您已经了解了基本知识,接下来让我们开始探索SELECT语句。 与以前的SQL课程一样,我们将继续使用符合ANSI SQL标准的语句。 您可能希望查阅DBMS的文档,以确定它是否支持可以提高SQL代码效率和/或效率的高级选项。

SELECT语句的一般形式

SELECT语句的一般形式如下所示:

SELECT select_list
FROM
WHERE 条件(s)
GROUP BY 表达式
有条件
ORDER BY 表达式

该语句的第一行告诉SQL处理器,该命令是一个SELECT语句,我们希望从数据库中检索信息。 select_list允许我们指定我们希望检索的信息的类型。

第二行中的FROM子句指定了涉及的特定数据库表,并且WHERE子句使我们能够将结果限制为符合指定条件的记录。 最后三个子句代表本文范围之外的高级功能 - 我们将在未来的SQL文章中探讨它们。

学习SQL的最简单方法就是举例。 考虑到这一点,我们开始看一些数据库查询。 在本文中,我们将使用虚构的XYZ公司人力资源数据库中的员工表来说明我们所有的查询。 这是整个表格:

员工ID

名字

薪水

向...报告

1

工匠

约翰

32000

2

2

起诉

45000

空值

3

肯德尔

汤姆

29500

2

4 琼斯 亚伯拉罕 35000 2
艾伦 法案 17250 4
6 雷诺兹 佳佳 19500 4
7 约翰逊 凯蒂 21000 3

检索整个表

XYZ公司的人力资源总监每月收到一份报告,提供每位公司员工的薪水和报告信息。 这个报告的生成是SELECT语句最简单形式的一个例子。 它只是检索数据库表中包含的所有信息 - 每一列和每一行。 以下是将完成此结果的查询:

选择 *
FROM员工

很简单,对吧? 出现在select_list中的星号(*)是一个通配符,用于通知数据库我们希望从FROM子句中标识的员工表中的所有列中检索信息。 我们想要检索数据库中的所有信息,因此不需要使用WHERE子句来限制从表中选择的行。

以下是我们的查询结果:

员工ID 名字 薪水 向...报告
---------- -------- --------- ------ ---------
1 工匠 约翰 32000 2
2 起诉 45000 空值
3 肯德尔 汤姆 29500 2
4 琼斯 亚伯拉罕 35000 2
艾伦 法案 17250 4
6 雷诺兹 佳佳 19500 4
7 约翰逊 凯蒂 21000 3