使用Northwind数据库寻找练习学习SQL

时间:2009-06-30 19:51:40

标签: sql sql-server sql-server-2005 tsql

我试图通过针对Northwind数据库编写查询来更熟悉SQL。

我正在寻找一些有助于我学习SQL和SQL Server功能的练习。重要的是练习有解决方案,而在复杂的情况下,如果对查询有解释则会很好。

到目前为止感谢您的答案,但我仍然没有找到我正在寻找的: 是否有免费资源,可在线获取,无需注册,我可以找到这些练习的列表?

7 个答案:

答案 0 :(得分:2)

我会选择Inside Microsoft SQL Server 2005: T-SQL Querying。这本书很棒,有练习+答案

我前一段时间对作者进行了采访,你可以在这里找到:Interview With Itzik Ben-Gan Author Of Inside Microsoft SQL Server 2005: T-SQL Querying

答案 1 :(得分:2)

在我看来,最好的学习方法是参与一个小型的爱好项目。

例如,假设您对运动感兴趣,选择您喜欢的运动并设想如何以最优雅的方式以SQL数据库的形式对运动统计进行建模。您将开始考虑如何从数据库中提取数据,更新数据等等。

每当遇到问题时,您都可以查看参考书(上面提到的T-SQL查询书非常好)并找出最佳方法。

玩具示例,练习都很好。但在我看来,除非你真的遇到问题并自己解决问题,否则基本面就不会出现在你的脑海中。

这样的文章http://www.sommarskog.se/dynamic_sql.html也非常有用,因为它们提供了如何,为什么以及为什么不提供的洞察力。

另请查看此链接http://www.sql-server-performance.com/tips/related_web_links_p1.aspx

答案 2 :(得分:2)

sql-ex是学习sql非常有用的网站。

答案 3 :(得分:2)

要关注的一些事情会影响很多SQL领域,如果你要编写很多内容,你应该知道这些领域:

  • 加入 - INNER和OUTER(LEFT和RIGHT JOIN之间的差异)
  • GROUP BY子句并使用SUM,MIN,MAX等聚合函数。
  • WHERE - 用于过滤查询中返回的记录
  • 子查询 - SubqueriesCorrelated subqueries
  • CASE,COALESCE,BETWEEN,CONVERT,CAST功能/陈述

找到一个好的数据集并尝试在其上运行一些有意义的查询。确保从您想要解决的问题开始(即Northwind数据库中居住在WA的人的平均订单金额是多少?)。

答案 4 :(得分:2)

对于一些简单的问题/练习: http://caml2010.wordpress.com/2010/06/12/northwind-exercise/

答案 5 :(得分:2)

Wikibooks几乎没有练习:SQL Exercises

答案 6 :(得分:1)

如果您有方便的Reporting Services,甚至Visual Studio,创建一些包含聚合,总和,计数等的报告将使您对如何将数据用作信息并真正提高您的SQL技能有所了解。

我在电话公司工作,这种情况一直都在发生。我有this本书坐在我的办公桌上,我发现它非常方便。

祝你好运! :)