数据库原理-SELECT语句完整的句法

2018-1-9 by Atlas

  • SELECT语句完整的句法,句法中[ ]表示该成分可有,也可无。
SELECT <目标表的列名或列表表达式序列>
FROM <基本表名和(或)视图序列>
[WHERE <行条件表达式>]
[GROUP BY <列名序列>
        [HAVING <组条件表达式>]]
[ORDER BY <列名 [ASC|DESC]>,...]

整个语句的执行过程如下:
(1)读取FROM子句中基本表、视图的数据,执行笛卡尔积操作。
(2)选取满足WHERE子句中给出的条件表达式的元组。
(3)按GROUP子句中指定列的值分组,同时提取满足HAVING子句中组条件表达式的那些组。
(4)按SELECT子句中给出的列名或列表表达式求值输出。
(5)ORDER子句对输出的目标表进行排序,按附加说明ASC升序排列,或按DESC降序排列。
SELECT语句中,WHERE子句称为“行条件子句”,GROUP子句称为“分组子句”。HAVING子句称为“组条件子句”,ORDER子句称为“排序子句”。

摘抄自:《数据库系统原理》

原文地址:http://blog.51cto.com/damon188/2059169

时间: 2024-10-24 10:12:18

数据库原理-SELECT语句完整的句法的相关文章

【Oracle】SQL 中Select语句完整的执行顺序

SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5.使用having子句筛选分组: 6.计算所有的表达式: 7.select 的字段: 8.使用order by对结果集进行排序. SQL语言不同于其他编程语言的最明显特征是处理代码的顺序.在大多数据库语言中,代码按编码顺序被处理.但在SQL语句中,第一个被处理的子句式FROM,而不是

SQL Select语句完整的执行顺序

SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5.使用having子句筛选分组: 6.计算所有的表达式: 7.select 的字段:8.使用order by对结果集进行排序.SQL语言不同于其他编程语言的最明显特征是处理代码的顺序.在大多数据库语言中,代码按编码顺序被处理.但在SQL语句中,第一个被处理的子句式FROM,而不是第一

Oracle中Select语句完整的执行顺序

oracle Select语句完整的执行顺序: 1.from 子句组装来自不同数据源的数据: 2.where 子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5.使用having子句筛选分组: 6.计算所有的表达式: 7.使用order by对结果集进行排序.

SQL Server 数据库的SELECT 语句基本用法介绍

一.    基本语法结构 (1) 新建查询 如何查询表的所有内容 SELECT * FROM表名 (2) 选中查询列 如何查询指定表中的指定列,查询多列得用英文’,’隔开 SELECT字段1,字段2,字段…… FROM表名 (3) 如何为列指定别名(AS关键字) (4) 语句大小写的区别 select.字段等关键字大小写的区别 条件里的大小写区别 (5) 运算符介绍 加减乘除:+ - * / 比较运算符:><>= <= <> 二.    查询脚本 (1) 查询stude

探讨SELECT语句的元数据&amp;amp;动态取样&amp;amp;读一致性导致的一致性读和递归操作

前几天,论坛上的同行在讨论SELECT语句的元数据,动态取样和读一致性导致的一致性读和递归问题,今天有时间,就试着进行了测试,本人测试环境如下: win7_64+Oracle11.2.0.4_64 那么,下面就说下测试过程: 1.元数据:当用户向数据库发出SELECT语句后,在解析和执行过程中,肯定是需要读取SELECT相关的元数据,这样,SELECT的统计数据中就会包含递归操作,做这个测试的前提是要把其他因素排除掉(动态取样,一致性读): session1: session2: 由上可见,在表

从Select语句看Oracle查询原理(了解Oracle的查询机制)

第一步:客户端把语句发给服务器端执行 当我们在客户端执行select语句时,客户端会把这条SQL语句发送给服务器端,让服务器端的进程来处理这语句.也就是说,Oracle客户端是不会做任何的操作,他的主要任务就是把客户端产生的一些SQL语句发送给服务器端.虽然在客户端也有一个数据库进程,但是,这个进程的作用跟服务器上的进程作用是不相同的.服务器上的数据库进程才会对SQL语句进行相关的处理.不过,有个问题需要说明,就是客户端的进程跟服务器的进程是一一对应的.也就是说,在客户端连接上服务器后,在客户端

【13】一个完整的select语句[SELECT (Transact-SQL)]

简介: 从数据库中检索行,并允许从 SQL Server 2012 中的一个或多个表中选择一个或多个行或列. 虽然 SELECT 语句的完整语法较复杂,但其主要子句可归纳如下: [ WITH <common_table_expression>] SELECT select_list [ INTO new_table ] [ FROM table_source ] [ WHERE search_condition ] [ GROUP BY group_by_expression] [ HAVIN

MySQL数据库学习02: SELECT语句

声明:本篇文章大多数内容出自<MySQL必知必会>,仅供学习参考,勿作他用! 第4章 检索数据 4.1 SELECT语句 SELECT子句用于检索数据库中的表数据.它几乎是MySQL中最常用的语句.我们一定要掌握好.为了能够检索表数据,必须至少给出两条信息 —— 想选择什么(表字段,即列),以及从什么地方选择(哪张表). 4.2 检索单个列 输入: select prod_name from products; 分析: 上述语句利用SELECT语句从products表中检索一个名为prod_n

SQL Server数据库培训(SQL篇)----Select语句构成元素

1.             Select语句构成元素 1.1          Select * 避免使用select * 当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 '*' 是一个方便的方法.不幸的是,这是一个非常低效的方法. 实际上,SQL在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间. 1.2          Select语句中元素的执行顺序 为了描述逻辑查询处理和各种SELECT查询子句