十步完全理解 SQL( 五 )

 
糊涂了?是的,我也是 。我们再回过头来看点浅显的东西吧 。
 
我们学到了什么?
 
SELECT 语句可能是 SQL 语句中最难的部分了,尽管他看上去很简单 。其他语句的作用其实就是对表的不同形式的引用 。而 SELECT 语句则把这些引用整合在了一起,通过逻辑规则将源表映射到目标表,而且这个过程是可逆的,我们可以清楚的知道目标表的数据是怎么来的 。
 
想要学习好 SQL 语言,就要在使用 SELECT 语句之前弄懂其他的语句,虽然 SELECT 是语法结构中的第一个关键词,但它应该是我们最后一个掌握的 。
 
10、 SQL 语句中的几个简单的关键词:DISTINCT,UNION,ORDER BY 和 OFFSET
 
在学习完复杂的 SELECT 豫剧之后,我们再来看点简单的东西:
 
集合运算( DISTINCT 和 UNION )
排序运算( ORDER BY,OFFSET…FETCH)
集合运算( set operation):
 
集合运算主要操作在于集合上,事实上指的就是对表的一种操作 。从概念上来说,他们很好理解:
 
DISTINCT 在映射之后对数据进行去重
UNION 将两个子查询拼接起来并去重
UNION ALL 将两个子查询拼接起来但不去重
EXCEPT 将第二个字查询中的结果从第一个子查询中去掉
INTERSECT 保留两个子查询中都有的结果并去重
排序运算( ordering operation):
 
排序运算跟逻辑关系无关 。这是一个 SQL 特有的功能 。排序运算不仅在 SQL 语句的最后,而且在 SQL 语句运行的过程中也是最后执行的 。使用 ORDER BY 和 OFFSET…FETCH 是保证数据能够按照顺序排列的最有效的方式 。其他所有的排序方式都有一定随机性,尽管它们得到的排序结果是可重现的 。
 
OFFSET…SET是一个没有统一确定语法的语句,不同的数据库有不同的表达方式,如 MySQL 和 PostgreSQL 的 LIMIT…OFFSET、SQL Server 和 Sybase 的 TOP…START AT 等 。具体关于 OFFSET..FETCH 的不同语法可以参考这篇文章
 
(http://www.jooq.org/doc/3.1/manual/sql-building/sql-statements/select-statement/limit-clause/) 。
 
让我们在工作中尽情的使用 SQL!
 
正如其他语言一样,想要学好 SQL 语言就要大量的练习 。上面的 10 个简单的步骤能够帮助你对你每天所写的 SQL 语句有更好的理解 。另一方面来讲,从平时常见的错误中也能积累到很多经验 。

【十步完全理解 SQL】


推荐阅读