【问题标题】:What is the best online SQL tutorial for learning to write complex reporting queries? [closed]学习编写复杂报告查询的最佳在线 SQL 教程是什么? [关闭]
【发布时间】:2009-06-02 13:52:51
【问题描述】:

我的 SQL 技能相当有限,由于最近我发现自己经常使用数据库 (Oracle),因此我想超越基本的选择语句。

我想编写查询来执行诸如从多个表中获取数据、汇总数量、比较日期、分组、过滤等操作。

您可以推荐哪些网站来提高 SQL 报告技能?

【问题讨论】:

  • 您应该改写问题,使其不太可能是主观的。这个问题也应该是社区维基。

标签: sql oracle reporting


【解决方案1】:

拿起 Joe Celcko 的SQL For Smarties。这是一本权威的将你的 sql 带到下一级的书籍。否则,请继续编写查询。

确保您了解联接。从一开始,我的 SQL 方法就一直是行数驱动的——换句话说,当我编写一个复杂的查询时,我总是 #1 确保它返回正确的行数。如果您的行数是正确的,那么您的总和/组/聚合都将是正确的。他们很容易搞砸。

确保您了解数据。确保您了解键和唯一性,以便您可以强制执行联接。

您还可以阅读asktom.oracle.com 了解许多非常酷的 SQL 技巧。 Laurent Schneider 也是非常前沿的 sql-wise。如果我在过去的 5-6 年里没有将 asktom 设置为我的主页,我就不会成为今天的 DBA/开发人员的一半。

最后,确保您了解基于集合的操作。将结果集视为一个整体,而不仅仅是行的集合。它会在您执行此操作时单击。这与行数驱动的方法有关。

【讨论】:

    【解决方案2】:

    我知道这不在线,但它符合您的要求:

    我建议您购买一份 Anthony Mollinaro 的 SQL Cookbook。它描述了如何做许多超出基本 SELECT FROM WHERE 的复杂事情。在上一个。生活,当对上一个进行大量查询时。工作,那本书是我的救命稻草,人们经常借那本书。它有很多非常清晰的示例,范围从简单(如何检索表中的行子集)到复杂(使用窗口函数生成直方图)。

    它不是免费的,但是这本书很快就会收回成本,我想它会回答你的大部分问题。注意:我与 O'Reilly 或 Mollinaro 先生没有任何关系,我只是认为这本书很棒而且非常有用。

    【讨论】:

    【解决方案3】:

    阅读 Oracle 数据仓库指南的第 20、21 和 22 章:http://download.oracle.com/docs/cd/B28359_01/server.111/b28313/toc.htm。它是关于分组、分析和示范条款。

    【讨论】:

      【解决方案4】:

      W3 Schools SQL Tutorial 是一个很好的起点。它给出了一些不同类型的连接示例,并详细介绍了许多函数(即 sum、count、avg)。在理解复杂的查询之前,我真的必须打下 SQL 的基础。

      【讨论】:

      • 这比我预期的要好得多。谢谢你的回答。
      【解决方案5】:

      我刚刚发现了一个名为 SQL 教程 的网站,我认为它非常好,并希望与社区分享。在http://www.sql-tutorial.com/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-17
        • 1970-01-01
        • 2020-02-28
        • 2010-09-09
        • 2010-10-05
        • 2019-06-07
        • 2010-09-28
        • 1970-01-01
        相关资源
        最近更新 更多