我的SQL技能相当有限,因为我发现自己最近经常使用DB (Oracle),所以我想超越基本的select语句。
我想写一些查询,比如从多个表中获取数据,求和,比较日期,分组,过滤等。
您可以推荐哪些站点来将SQL报告技能提升到更高的水平?
发布于 2009-06-02 16:44:56
拿起Joe Celcko的SQL For Smarties。这是将sql带到下一个级别的权威书籍之一。否则,只要继续编写查询即可。
确保您理解joins。从一开始,我的SQL方法就一直是行计数驱动的-换句话说,当我编写一个复杂的查询时,我总是确保它返回正确的行数。如果您的行数是正确的,那么您的总和/组/聚合都将是正确的。而且它们很容易搞砸。
确保你理解这些数据。确保您了解键和唯一性,以便您可以强制执行您的联接。
你也可以从asktom.oracle.com中读到很多非常酷的SQL技巧。Laurent Schneider在sql方面也是非常先进的。如果我在过去5-6年里没有将asktom设置为我的主页,我将不会成为今天的DBA/开发人员的一半。
最后,确保你理解基于集合的操作。将结果集作为一个整体来考虑,而不仅仅是行的集合。当你这样做的时候,它会发出滴答声。这与行计数驱动的方法有关。
发布于 2009-06-02 14:29:48
我知道这不在网上,但它符合你的账单:
我建议你买一本安东尼·莫利纳罗的SQL Cookbook。它描述了如何做许多复杂的事情,这些事情超出了基本的SELECT FROM WHERE。在前一个版本中。生活,当为一个prev做很多查询时。工作,那本书是我的救命稻草,人们经常借那本书。它有许多非常清晰的示例,从简单的(如何检索表上的行子集)到复杂的(使用窗口函数生成直方图)。
它不是免费的,但这本书很快就能收回成本,我想你可能会问到大多数问题。注:我与O‘’Reilly或Mollinaro先生没有任何联系,我只是觉得这本书很棒,而且非常有帮助。
发布于 2009-06-02 14:37:03
请阅读甲骨文数据仓库指南:http://download.oracle.com/docs/cd/B28359_01/server.111/b28313/toc.htm的第20、21和22章。它是关于分组、分析和模型子句的。
https://stackoverflow.com/questions/939693
复制相似问题