7.7 本章知识点回顾
列出SQL SELECT语句的功能
● SELECT语句能够实现的三种基本操作是投影、选择和联接。
● 投影表示对从表中选择的列的限制。使用投影,只会检索想要的列而不是所有可能的列。
● 选择表示从表中提取行。选择还包括依据各种标准或者条件对提取的行进行更多限制。它只允许检索想要的行,而不是表中的所有行。
● 联接可以依据公共特性链接两个或者多个表。联接允许将数据用第三范式存储在离散表中,而不是将它存储在一张大表中。
● DESCRIBE命令列出表中所有列的名称、数据类型和可空状态。
执行基本的SELECT语句
● SELECT子句决定列的投影。换句话说,SELECT子句指定在返回的结果中包含哪些列。
● SELECT子句中项之前的DISTINCT关键字可以从返回的结果集中排除重复项。
● 可以使用AS关键字,或者列或表达式和别名之间的空格,给表达式或者常规列起别名。
● 通过在每个自然出现的引号后面添加一个单引号,或者使用可选择的引用运算符,可以选出字符字面值中自然出现的单引号。
限制查询检索的行
● WHERE子句由一个或者多个条件构成。这些条件指定行中的数据必须符合选择的原则。
● 对于条件中测试的各行而言,在比较运算符的左右两边都有一些项。条件中的项可能是列值、字面值或者表达式。
● 比较运算符能够以多种方式测试两项。等于和不等于测试非常普遍,但也可以使用范围、集合和模式比较。
● 布尔运算符有AND、OR和NOT运算符。AND和OR运算符允许指定多个条件子句。它们有时称为多个WHERE子句。
● NOT运算符否定条件中的比较运算符。
排序查询检索的行
● 使用ORDER BY子句给结果排序。在SELECT子句中指定列名或者它们的数字位置,就可以依据一列或者多列来排序检索到的行。
● 在ORDER BY子句中的排序项之后使用DESC或者ASC修饰符,就可以按降序或者升序排列输出。
● 行限制子句允许获取数据集的一部分。可以提供可选的OFFSET,以指出行限制集的开始位置。可能需要提供行的绝对数字或百分比。如果指定了WITH TIES选项,就会额外获取排序键一样的所有行,作为行限制集的最后一行。
&符号替换
● &符号替换通过提供一种在运行时替换语句的元素的方式,来实现SQL语句重用。因此,使用不同的输入参数可以多次运行相同的SQL语句。
● 可以使用DEFINE命令显式设置永久会话变量。UNDEFINE命令可用来解除隐式(&&替换)和显式定义的会话变量。
● VERIFY环境设置控制SQL*Plus是否显示包含替换变量的语句行的新旧版本。