数据库查询从数据库中提取数据并将其格式化为人类可读的形式。查询必须使用以下语法编写:数据库requires-通常是结构化查询语言的变体。
SQL查询的元素
使用数据操作语言(访问或修改数据的SQL语句集,而不是修改数据库本身结构的数据定义语言)的SQL查询由四个块组成,前两个块不是可选的。
SQL查询至少遵循以下形式:
从Y中选择X;
这里,这个选择关键字标识您希望显示的信息以及从关键字标识数据来自何处以及这些数据源如何相互关联。或者,一个哪里语句设置限制条件,以及集团和命令语句关联值并按特定顺序显示它们。
例如:
选择emp.ssn、emp.last\u name、dept.department\u name
从员工emp LEFT OUTER JOIN部门部门
关于emp.dept\u no=部门编号
其中emp.active_标志='Y'
由2个ASC订购;
此查询将生成一个网格,该网格显示社保号、员工姓氏和员工所在部门的名称,该列的顺序取自员工和部门表。employees表起支配作用,所以当两个表中都有匹配的部门号字段时(a左外连接是一种链接表格的方法,其中左侧表格显示所有结果,仅显示右侧表格中的匹配结果)。此外,网格仅显示活动标志设置为的员工Y,结果按部门名升序排序。
但所有这些数据探索都是从选择声明。
SQL SELECT语句
SQL使用SELECT语句选择或提取特定数据。
考虑一个基于罗斯文作为教程,经常随数据库产品一起提供的数据库。以下是数据库employees表的摘录:
员工编号 | 姓氏 | 名字 | 标题 | 住址 | 城市 | 区域 |
---|---|---|---|---|---|---|
1. | Davolio | 南希 | 销售代表 | 东20大道507号 | 西雅图 | 华盛顿州 |
2. | 富勒 | 安得烈 | 销售副总裁 |
首都大道西908号 | 塔科马 | 华盛顿州 |
3. | 水平 | 珍妮特 | 销售代表 | 莫斯湾大道722号。 | 科克兰 | 华盛顿州 |
要从数据库中返回员工的姓名和头衔,SELECT语句看起来像这样:
从员工中选择名字、姓氏、职务;
它将返回:
名字 | 姓氏 | 标题 |
---|---|---|
南希 | Davolio | 销售代表 |
安得烈 | 富勒 | 销售副总裁 |
珍妮特 | 水平 | 销售代表 |
要进一步细化结果,可以添加WHERE子句:
从Employees中选择FirstName和LastName
在城市=“塔科马”;
它返回来自塔科马的任何员工的名字和姓氏:
名字 | 姓氏 |
---|---|
安得烈 | 富勒 |
SQL以类似于的行和列形式返回数据Microsoft Excel,使其易于查看和使用。其他查询语言可能以图形或图表的形式返回数据。
查询的力量
数据库具有揭示复杂趋势和活动的潜力,但这种能力只有通过使用查询才能得到利用。一个复杂的数据库由许多存储大量数据的表组成。查询允许您将数据过滤到单个表中,以便更容易地分析它。
查询还可以对数据执行计算或自动执行数据管理任务。您还可以在将数据提交到数据库之前查看数据更新。