SELECT语句语法及示例(上)

日期: 2009-11-10 作者:Joel Murach翻译:张峰 来源:TechTarget中国 英文

为了帮助你学习编写SELECT语句,本文一开始就先讲述基本的语法。接下来,会给出几个例子,这些例子将会给你一个关于可以用这些语句做什么的大概概念。然后,本文剩余的部分将会指导你在细节上编写语句。   本文的语法概要使用了一些惯用的协定:首先,大写单词被称为关键字,尽管你可以按照你的喜好来拼写它们(可以大写或小写),但你必须像本文中给出的那样正确拼写它们。

例如:以下关键字是等效的:”SELECT”, “Select”, “select” 和 “sELeCt”。其次,你必须提供替换小写单词的相关值。例如……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

为了帮助你学习编写SELECT语句,本文一开始就先讲述基本的语法。接下来,会给出几个例子,这些例子将会给你一个关于可以用这些语句做什么的大概概念。然后,本文剩余的部分将会指导你在细节上编写语句。

  本文的语法概要使用了一些惯用的协定:首先,大写单词被称为关键字,尽管你可以按照你的喜好来拼写它们(可以大写或小写),但你必须像本文中给出的那样正确拼写它们。例如:以下关键字是等效的:"SELECT", "Select", "select" 和 "sELeCt"。其次,你必须提供替换小写单词的相关值。例如,你必须输入一个列的列表来替代select_list,你还须在table_source的位置上输入一表名。

  除此之外,你可以在由分隔线(|),大括号({})或中括号([])隔开的语法概述条目之间进行选择。你可以忽略“[]”中的条目。如果你在两个或更多的选项中做选择,默认的选项是有下划线的。另外,如果一个元素可在一条语句中多次出现,它后边需要跟着省略号(…)。在本文稍后的语法描述中你将会看到分隔线,中括号,默认值和省略号的相关示例。

  本部分中的语法概要已被简化,以便于你可以集中精力于SELECT语句的四个主要的子句:SELECT子句,FROM子句,WHERE子句,还有ORDER BY子句。你编写的大多数SELECT语句会包含以上四个子句。但是,只有SELECT和FROM子句是必须的。

  SELECT子句通常是一个SELECT语句的第一个子句。它标识出你所想要包含到结果集中的列。这些列是从在FROM子句中指定的基表中返回的。因为本文只涉及从单张表中获取数据,所有语句中的FROM子句只指定单张基表。

  WHERE子句和ORDER BY子句是可选项。ORDER BY子句决定着结果集中的行是如何排序的,而WHERE子句决定着基表中的哪些行是要被包含在结果集中的。WHERE子句指定一个查询条件用来过滤基表中的行。此查询条件可包含一个或多个布尔表达式或谓词。布尔表达式是一个评定是真还是假的表达式。当查询条件评定为真,此行就被包含到结果集中了。

  在本文中,我们不再使用“布尔表达式”或“谓词”的形式,因为它们不能清晰地描述WHERE子句的内容。相反,我们将使用“查询条件”的形式来代替被评定为真或假的表达式。

  被简化的SELECT语句语法SELECT select_list FROM table_source [WHERE search_condition] [ORDER BY order_by_list]

  SELECT语句的四个子句

子句

描述

SELECT

描述将被包含在结果集中的列。

FROM

指定查询从哪张表中获取数据。

WHERE

为结果集的行指定必须满足的条件。此子句为可选项。

ORDER BY

指定结果集中的行如何排序。此子句是可选项。

 

     描述

  你使用上边给出的基本的SELECT语句来获取列,其中,这些列是由SELECT子句指定的,基表是由FROM子句指定的,把这些列存在一个结果集中。

  WHERE子句被用来过滤基表中的行,这样一来,只有满足条件的行才被包含在结果集中。如果你忽略WHERE子句,基表中所有的行都将包含在结果集中。

  WHERE子句的查询条件由一个或多个布尔表达式,或谓词组成,那将产生一个真值,假值或未知值。如果所有表达式的合并值为真,那么用来测试的行将被包含在结果集中。如果合并值不为真,那么用来测试的行就不包含在结果集中。

  如果包含ORDER BY子句,结果集中的行将按照指定的顺序进行排序。否则,Oracle将不会对行进行排序。

  注意:

  以上语法不包含SELECT语句的全部子句。

翻译

张峰
张峰

相关推荐