SQL的目的就是简单地提供一个访问数据库的接口,每一条SQL语句对于数据库来说就是一条命令(指令)。
5个核心的SQL语句:
1.1.SELECT语句
select语句:用于从一张或者多张表或者其他数据库对象中提取数据。Oracle是基于查询成本优化器(cost-based optimizer,OCB)来产生实际的执行计划。
例如:
select (Distinct)<column list>
from <source object list>
join on
where
group by
having
order by
SQL有别于其他编程语言的一点在于首先处理的并不是第一行的语句(select),而是from字句。join on字句可以把处理过程中的每一步想象成生产一个临时的数据集。随着每个处理步骤的进行,这个数据集被不断地操作直到生成最终的处理结果。
1.2.from字句列出了所查询数据的源对象,例如:表、视图、物化视图、分区、子分区、子查询生成的子对象......
1.3.where可以按照条件来限制查询最终返回结果集的行数。每个条件(谓语)都是以两个值或表达式相比较形式出现。
1.4.group by字句将执行from和where字句得到的数据集进行聚合(分组)。你可以按照from字句中所列出对象的任意字段进行分组,即使你并不想输出结果列表中显示该列。相反,select列表中的任何非聚合字段都必须包括在group by字句中。group by字句中还可以包含两个附加的运算:ROLLUP和CUBE。ROLLUP运算用来产生部分求和值,CUBE运算用来求得交互分类值。提示:分组之后数据集并不会排序。
1.5.having字句将分组汇总之后的查询结果限定为只有该字句中的条件为真的数据行。
1.6.distinct字句用来在其他字句执行完成以后从结果集中去除重复的行。
1.7.order by字句用来对查询最终返回的结果集进行排序。排序对于数据量的大小(结果集中的总字节数)关系非常大,较小的排序会在内存中来实现,而较大的排序将使用临时磁盘空间来完成。一般来说,排序是查询过程中开销相当大的一个处理步骤,尤其是返回结果集很大的时候。
SQL语句执行顺序:
分享到:
相关推荐
从SQL的基础知识到数据库的高级应用,再到大数据环境下的数据处理,本系列课程将带领学习者逐步深入,掌握数据库技术的核心概念和实践技能。 适合人群:本系列课程适合希望提升数据库技能的中级程序员,尤其是那些...
所涵盖的内容涉及SQL核心、SQL执行、分析函数、联结、测试与质量保证等,并提供大量实用性建议,且总结出方方面面的“技巧”帮助读者在阅读过程中快速消化所看内容。 《Oracle SQL高级编程/数据库系列》适合软件研发...
本书是Inside Microsoft SQL Server 2005系列四本著作中的一本。它详细介绍了T-SQL的内部体系结构,包含了非常全面的编程参考,提供了使用Transact-SQL(T-SQL)的专家级指导,囊括了非常全面的编程参考,揭示了基于...
本系列课程旨在为具有2-3年编程经验的程序员提供一个全面的SQL数据库技能提升路径。从SQL的基础知识到数据库的高级应用,再到大数据环境下的数据处理,本系列课程将带领学习者逐步深入,掌握数据库技术的核心概念和...
2、正向方式:首先把设计好数据库表文档,把所有表的字段属性配置到EXCEL或者CSV格式的文件通过JXL/POI技术去读取文件的字段,再通过其他技术一系列程序处理之后生成所需要的SQL脚本。 3、逆向方式:首先有数据库...
本书是Inside Microsoft SQL Server 2000的作者Kalen Delaney的又一经典著作,是Inside Microsoft SQL Server 2005系列四本著作中的一本。本书对SQL Server 2005存储引擎方面的知识进行了全面而详细的阐述,包括...
所涵盖的内容涉及SQL核心、SQL执行、分析函数、联结、测试与质量保证等,并提供大量实用性建议,且总结出方方面面的“技巧”帮助读者在阅读过程中快速消化所看内容。 《Oracle SQL高级编程/数据库系列》适合软件研发...
《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。 本书首先介绍SQL Server 2008的新功能,然后在更详实的示例...
事物是一系列操作组成的序列。他可以理解为直观的不可分割的一笔业务,可以执行成功或者失败。典型的事物比如由应用程序发出的具有开启-提交功能的一组SQL语句。不同的事物靠事物Id号(transaction ID)来区分,具有...
虽然本文提供了一系列实用的SQLServer教程,但真正的掌握还需要结合实际操作和项目经验。建议读者在准备项目的同时,通过实际项目或模拟环境来应用这些SQLServer概念,以便更深刻地理解和掌握它们。此外,随着技
5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...
5.2.5 添加SQL Server到一个组 107 5.3 管理服务器 107 5.3.1 注册已连接服务器 108 5.3.2 在“已注册的服务器”视图中注册新的服务器 109 5.3.3 注册以前注册的SQL Server 2000服务器 109 5.3.4 更新...
《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。 本书首先介绍SQL Server 2008的新功能,然后在更详实的示例...
5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...
整整搞了一天半时间才找到原因,当时我共准备装四台IBM X系列服务器,两台是IBM X3650M3 ,还有两台是X 3550M2 ,后来我连换了两台服务器装,结果当我换到X3550M2的服务器时居然成功了,后来想想,我的X3550M2的...
5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...
事物是一系列操作组成的序列。他可以理解为直观的不可分割的一笔业务,可以执行成功或者失败。典型的事物比如由应用程序发出的具有开启-提交功能的一组SQL语句。不同的事物靠事物Id号(transaction ID)来区分,具有...
《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。 本书首先介绍SQL Server 2008的新功能,然后在更详实的示例...
就可以使用本工具的执行类EasySqlExecution了,里面包含了常用的增删改查分页,模糊,聚合等等一系列封装,方法只需要传入你的对象进来,会自动识别并关联表,映射表字段,返回结果值,不需要你去写任何sql。...
本课程提供了一系列完整的Java代码和数据库脚本文件,同时也包含了相关的数据库源文件和详实的实验报告,旨在为学生提供一个全方位的学习体验。通过本课程,学生不仅能够掌握Java编程语言和基本的数据库操作技能,还...