扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:cyw 来源:IT专家网 2007年11月20日
关键字: 使用 SQL 查询语言 检索数据 SQL Server
第一节:SELECT指令简介
本节将通过几个数据库检索实例的组合,为大家介绍SELECT语句使用的一般语法形式。如果这是您第一次步入SQL
如果您已经复习过相关的基础知识,那就我们就开始学习SELECT指令的具体用法。本文中我们遵从ANSI SQL标准来编写语句指令。为了确定您的
SELECT语句的一般形式如下:
以下是引用片段: SELECT select_list FROM source WHERE condition(s) GROUP BY expression HAVING condition ORDER BY expression |
指令的第一行告诉SQL处理器这是一个希望从某数据库中检索
实例是学习SQL语言的最佳途径。下面我们通过一个实例来看看数据库查询的过程,本文利用一个虚构的ABC公司人力资源数据库作为实例来详细的说明所有的相关查询。数据库全表如下:
EmployeeID |
LastName |
FirstName |
Salary |
ReportsTo |
1 |
思迷 |
乔 |
32000 |
2 |
2 |
欣碧 |
苏 |
45000 |
NULL |
3 |
康杜 |
汤 |
29500 |
2 |
4 |
琼斯 |
白 |
35000 |
2 |
5 |
艾伦 |
毕 |
17250 |
4 |
6 |
雷 |
艾 |
19500 |
4 |
7 |
庄生 |
柯 |
21000 |
3 |
查询全表数据
假设ABC公司的人力资源主管收到了一份包括了每个公司雇员的工资和上下级关系的月度报表。这份报表是利用SELECT语句的最简单形式生成的。它只是检索了包含在一个数据表里的所有信息,包括每一行每一列。返回此结果的查询语法如下:
以下是引用片段: SELECT * FROM employees |
可以看到这里使用的语法相当简洁明了。select_list 参数中出现的星号(*)是一个通配符,用以告知数据库我们想从用FROM子句定义的雇员表中获取所有的列的数据。如果想获取数据库中所有的信息,并不需要用WHERE子句来限制选择的表行。执行查询结果如下:
EmployeeID |
LastName |
FirstName |
Salary |
ReportsTo |
1 |
思迷 |
乔 |
32000 |
2 |
2 |
欣碧 |
苏 |
45000 |
NULL |
3 |
康杜 |
汤 |
29500 |
2 |
4 |
琼斯 |
白 |
35000 |
2 |
5 |
艾伦 |
毕 |
17250 |
4 |
6 |
雷 |
艾 |
19500 |
4 |
7 |
庄生 |
柯 |
21000 |
3 |
在下一节中,我们将会涉及更强大的查询功能,使你能够限定从数据库中查询到的数据。
第二节:限定查询结果
在第一节中,我们对利用SELECT语句以及执行一个简单的检索来获取一个表内所有信息的语法结构有了一个大概了解。本节将进一步介绍怎样执行限定获取信息的查询操作。
从一个表内查询特定列的信息
在上一个实例中,我们为人力资源主管生成了一份包括ABC公司所有雇员工资和上下级关系信息的报表。现在,部门内的几位中级经理由于职责所需也要求获取其中的雇员上下级关系信息。这些经理不需要关于工资的信息,所以我们会为他们提供一份包含数据库中指定信息的报表,这些限定信息包括雇员姓名、雇员ID号及雇员直属上司的ID号。
返回此结果的SELECT语句如下:
以下是引用片段: SELECT EmployeeID, LastName, FirstName, ReportsTo FROM employees |
这一查询与第一节中的SELECT语句查询有所不同。注意星号通配符被一个列名称组成的表达式列表代替,这些列是要包含在查询结果中的。出于保护
EmployeeID |
LastName |
FirstName |
ReportsTo |
---------- |
-------- |
--------- |
--------- |
1 |
思迷 |
乔 |
2 |
2 |
欣碧 |
苏 |
NULL |
3 |
康杜 |
汤 |
2 |
4 |
琼斯 |
白 |
2 |
5 |
艾伦 |
毕 |
4 |
6 |
雷 |
艾 |
4 |
7 |
庄生 |
柯 |
3 |
EmployeeIDLastNameFirstNameReportsTo
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者