`

SQL系列(一) 核心

 
阅读更多

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语言基础知识+系列课

    从SQL的基础知识到数据库的高级应用,再到大数据环境下的数据处理,本系列课程将带领学习者逐步深入,掌握数据库技术的核心概念和实践技能。 适合人群:本系列课程适合希望提升数据库技能的中级程序员,尤其是那些...

    Oracle sql 高级编程(包含书中sql 附件)

    所涵盖的内容涉及SQL核心、SQL执行、分析函数、联结、测试与质量保证等,并提供大量实用性建议,且总结出方方面面的“技巧”帮助读者在阅读过程中快速消化所看内容。 《Oracle SQL高级编程/数据库系列》适合软件研发...

    Microsoft_SQL_Server_2005技术内幕:T-SQL查询.pdf

    本书是Inside Microsoft SQL Server 2005系列四本著作中的一本。它详细介绍了T-SQL的内部体系结构,包含了非常全面的编程参考,提供了使用Transact-SQL(T-SQL)的专家级指导,囊括了非常全面的编程参考,揭示了基于...

    SQL语言知识+数据库知识+编程知识+系列课程

    本系列课程旨在为具有2-3年编程经验的程序员提供一个全面的SQL数据库技能提升路径。从SQL的基础知识到数据库的高级应用,再到大数据环境下的数据处理,本系列课程将带领学习者逐步深入,掌握数据库技术的核心概念和...

    SQL脚本生成器

    2、正向方式:首先把设计好数据库表文档,把所有表的字段属性配置到EXCEL或者CSV格式的文件通过JXL/POI技术去读取文件的字段,再通过其他技术一系列程序处理之后生成所需要的SQL脚本。 3、逆向方式:首先有数据库...

    Microsoft SQL Server 2005技术内幕:存储引擎(中文).pdf

    本书是Inside Microsoft SQL Server 2000的作者Kalen Delaney的又一经典著作,是Inside Microsoft SQL Server 2005系列四本著作中的一本。本书对SQL Server 2005存储引擎方面的知识进行了全面而详细的阐述,包括...

    oracle sql高级编程

    所涵盖的内容涉及SQL核心、SQL执行、分析函数、联结、测试与质量保证等,并提供大量实用性建议,且总结出方方面面的“技巧”帮助读者在阅读过程中快速消化所看内容。 《Oracle SQL高级编程/数据库系列》适合软件研发...

    sql server2008高级程序设计(1/2)

    《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。  本书首先介绍SQL Server 2008的新功能,然后在更详实的示例...

    sql2000 Log Explorer4.2(含注册码)+汉化

    事物是一系列操作组成的序列。他可以理解为直观的不可分割的一笔业务,可以执行成功或者失败。典型的事物比如由应用程序发出的具有开启-提交功能的一组SQL语句。不同的事物靠事物Id号(transaction ID)来区分,具有...

    数据库-SqlServer详解

    虽然本文提供了一系列实用的SQLServer教程,但真正的掌握还需要结合实际操作和项目经验。建议读者在准备项目的同时,通过实际项目或模拟环境来应用这些SQLServer概念,以便更深刻地理解和掌握它们。此外,随着技

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    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.Server.2008管理员必备指南.part4.rar(4/4)

     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高级程序设计 4/6

    《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。  本书首先介绍SQL Server 2008的新功能,然后在更详实的示例...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    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 将服务器组和...

    IBM3650M3 6核CPU导致SQL2005 安装时出“无法启动服务”错 解决大法

    整整搞了一天半时间才找到原因,当时我共准备装四台IBM X系列服务器,两台是IBM X3650M3 ,还有两台是X 3550M2 ,后来我连换了两台服务器装,结果当我换到X3550M2的服务器时居然成功了,后来想想,我的X3550M2的...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    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 将服务器组和...

    Log Explorer for SQL Server v4.22 含注册机

    事物是一系列操作组成的序列。他可以理解为直观的不可分割的一笔业务,可以执行成功或者失败。典型的事物比如由应用程序发出的具有开启-提交功能的一组SQL语句。不同的事物靠事物Id号(transaction ID)来区分,具有...

    SQL Server 2008高级程序设计 2/6

    《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。  本书首先介绍SQL Server 2008的新功能,然后在更详实的示例...

    简化sql过程,自动封装sql,自动识别类与表的关联(作者shyFly)

    就可以使用本工具的执行类EasySqlExecution了,里面包含了常用的增删改查分页,模糊,聚合等等一系列封装,方法只需要传入你的对象进来,会自动识别并关联表,映射表字段,返回结果值,不需要你去写任何sql。...

    一个使用Java和SQL语言设计的个人作品管理系统完全可以用于期末作业实现

    本课程提供了一系列完整的Java代码和数据库脚本文件,同时也包含了相关的数据库源文件和详实的实验报告,旨在为学生提供一个全方位的学习体验。通过本课程,学生不仅能够掌握Java编程语言和基本的数据库操作技能,还...

Global site tag (gtag.js) - Google Analytics