结构化查询语言为数据库用户提供了强大而灵活的数据检索机制 - 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 |