原文:towardsdatascience.com/how-i-learned-sql-in-2-weeks-from-scratch-b78040f4e2c1

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/05ad534fd4b17e5bdef1633fe283ac48.png

WindowsUnsplash 拍摄的照片


你想学习 SQL 吗?

好吧,在这篇文章中,我将概述我是如何在两周内学习 SQL 的,这帮助我获得了我的第一份入门级数据科学职位。

让我们开始吧!

cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FDfLELVaXgi0%3Fstart%3D207%26feature%3Doembed%26start%3D207&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DDfLELVaXgi0&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FDfLELVaXgi0%2Fhqdefault.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=youtube

我的背景

当我开始学习 SQL 时,我正处于想要成为数据科学家的旅程中,并且我正在攻读物理学的硕士学位的最后一年。

到这个时候,我已经从大学的前几年开始用 Fortran 编程了几年,刚刚完成了一门 Python 课程,并且在进行一些编码练习。

欢迎阅读关于我在 Fortran 和 Python 中学习代码旅程的介绍,请参阅这里和这里!

我提到这一点,因为我并不幻想自己在学习 SQL 时具有明显的优势,而其他人可能没有。

当时我正在学习物理学,有之前的编程经验,并且知道如何学习技术主题。这些显然帮助我比普通人更快地学习 SQL。

然而,SQL 仍然是一种编程语言(尽管有些人可能认为它不是虽然有些人可能认为它不是!),我认为人们可以相当快地学习它,至少比 Python 或 JavaScript 等其他语言快。

为了参考,我可能在 2 到 3 个月前才可以说我对 Python 感到熟练,即使那样,我也只是触及了其功能的一角。

SQL 非常直观,读起来就像英语。它也相对较小,特别是对于入门级数据科学职位和面试所需的部分。

它之所以较小,主要是因为 SQL 是领域特定的。它是专门设计来检索、操作和与数据一起工作的,而许多其他语言则是通用目的的。以 Python 为例,它可以用于机器学习和网站开发。

虽然有些人可能非常不同意,但在我看来,SQL 与 Excel 更接近,而不是像 C、C++ 和 Rust 这样的低级语言。

重点是,与其它语言相比,SQL 的学习相对简单,即使没有技术或 STEM 背景。

显然,你不可能在几周内掌握它,但你可以学到非常高的标准,以通过入门级数据科学面试问题,并在日常工作中熟练运用,这正是我所做的!

现在,让我们深入了解我是如何学习 SQL 以及我参加的课程!

如果您感兴趣,可以阅读我如何成为数据科学家的完整旅程:

如何成为数据科学家 – 没有 CS 学位,没有训练营

我的路线图

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/3d58625fca555f03a5f615d2cd265233.png

freddie marriageUnsplash 拍摄的照片

初始课程

我开始学习 SQL 是通过先参加 W3SchoolsTutorialsPoint 提供的免费课程。

SQL 教程

SQL 教程

这两门课程非常棒,为你提供了所有需要了解的函数和语法的概述,以成为 SQL 的熟练用户。

我确保解决每一个练习问题,因为这是巩固你理解的关键步骤。我强烈建议你也这样做,以确保你彻底掌握所有概念,并真正专注于问题。

此外,在这些课程期间,我经常在 Google 上搜索东西,通过阅读短篇文章和浏览 stack overflow 来帮助我进一步理解。所以,我并没有完全依赖课程,当我没有完全理解某些内容时,我经常寻求替代解释。

完成每门课程大约需要几天时间,但我整天都在做这些,我感激有些人可能没有这样的奢侈!

回顾过去,你不需要做这两门课程;一门就足够学习所需的语法和函数。如果你不太忙,你可能在周末就能覆盖大部分内容和练习问题。

主要的是要花时间理解材料。不要担心它需要多长时间;专注于理解,因为这会让你以后更快。

作为参考,这些课程教你以下 SQL 方言的一般语法:MySQL、SQL Server、MS Access、Oracle、Sybase、Informix 和 Postgres。说实话,大多数 SQL 语法在这些方言中都是通用的,只是有些函数可能并不是所有都存在。

第二门课程

在完成这两门课程后,我在 Udemy 上参加了The Complete SQL Bootcamp: Go from Zero to Hero by Jose Portilla课程,这是一门付费课程,目前价格为 60 英镑。

Udemy 经常有折扣和促销活动,所以根据你上课的时间,课程可能会便宜得多!

我选择这门课程是因为它向我展示了如何在本地计算机上安装和运行 SQL,为主机数据库的服务器,以及学习更多关于 SQL 基础设施方面的知识。

前两门课程只教我在封闭的在线环境中的语法,而不是围绕 SQL 的整个生态系统,如果你打算在日常工作中使用它,这将非常有用。

Udemy 课程还深入探讨了 SQL 中的其他一些功能,这有助于进一步巩固我在最初课程中学到的知识。

总体来说,Udemy 课程大约 9 小时,但我学得很慢,花了几天才完成。如果你真的很高效,可能一天就能完成。

再次强调,速度并不重要,重要的是你培养出的直觉和知识。

练习

在所有这些学习和以往的经验之后,我知道要想在任何事情上变得擅长,你需要去实践它。这正是我接下来采取的步骤。

正如著名的企业家和投资者**Naval Ravikant __**所说:

不是 10000 小时,而是 10000 次迭代。

cdn.embedly.com/widgets/media.html?type=text%2Fhtml&key=a19fcc184b9711e1b4764040d3dc5c07&schema=twitter&url=https%3A//twitter.com/naval/status/1594923336043069441%3Fref_src%3Dtwsrc%255Etfw%257Ctwcamp%255Etweetembed%257Ctwterm%255E1594923336043069441%257Ctwgr%255E280e86329e1a925f62bb4613774bac7976e28ce0%257Ctwcon%255Es1_%26ref_url%3Dhttps%253A%252F%252Fcdn.embedly.com%252Fwidgets%252Fmedia.html%253Ftype%253Dtext2Fhtmlkey%253Da19fcc184b9711e1b4764040d3dc5c07schema%253Dtwitterurl%253Dhttps3A%252F%252Ftwitter.com%252Fnaval%252Fstatus%252F15949233360430694413Flang3Den-GBimage%253D&image=

我又花了几天的功夫在 Hacker Rank 上练习 SQL 问题。对于那些不熟悉的人来说,Hacker Rank 是一个包含大量编程语言编码挑战和问题的平台。

我还用 Hacker Rank 来帮助我学习 Python!

解决 SQL 代码挑战

我选择 Hacker Rank 是因为我有几次筛选面试,其中包含专门针对 Hacker Rank 的 SQL 问题。因此,为了增加我通过这一阶段的几率,我在这个平台上进行了大量的练习。

我发现这些 SQL 问题与我作为数据科学家在日常工作中创建的实际查询更为相似,而不是这个平台上等效的 Python 问题。

如果你想,可以自由使用像LeetCode这样的其他网站;关键是你要独立解决问题以建立你的能力。

总共,我可能做了大约 50 个问题;那时我觉得我已经掌握了要领,可以回答大多数入门级数据科学职位的问题。

这个数字对你来说可能不同;可能更多或更少。关键是直到你感到舒适为止,都要不断练习。


就这样!这是我 SQL 学习之旅的总结。我花了大约 2 周时间才掌握了入门级数据科学标准,尽管如果我更有效率,我认为我可以在一周内完成。但不可能事事如意!

现在,让我们继续讨论我希望能给那些正在学习 SQL 的你们的一些建议!

建议

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/9cc269b02881c1bd8f3d32c8424796fe.png

LinkedIn Sales SolutionsUnsplash上的照片

就像任何事物一样,学习 SQL 需要持续的努力、时间和练习。

尽管我之前说过它被视为一种“更容易”的编程语言,但并不是所有事情都是直截了当的,需要一些深入的思考才能让大脑适应它。

到今天为止,我仍然会在连接(JOINS)上出错,这曾经导致我在工作中展示出错误的结果!

通常,以下是我最宝贵的建议:

  • 学习“足够多”,然后开始解决问题。实际上,我可能只需要上一门课程,然后就可以开始编程挑战,这会加速我的学习。

  • 抽出额外的时间来学习和练习像连接(JOINS)、常用表达式表(COMMON EXPRESSION TABLES)和窗口函数(WINDOW functions)这样的主题。大多数人发现这些相当具有挑战性,但在许多实际场景中它们也非常有价值。

  • 如果你卡在一个问题上,不要花几个小时。给自己设定一个解决问题的时限,如果在那个时间限制内找不到解决方案,就使用提示或直接查看解决方案。只是记得要花时间理解解决方案,而不仅仅是复制粘贴。

  • 不要急于完成课程。花时间真正消化材料,不要担心这需要你多长时间。实际上,这是关于慢慢来,以便以后能更快地前进。


我再次强调,在几周内掌握任何东西几乎是不可能的。这篇文章的目的是向你展示你如何在短时间内熟练掌握 SQL,这将帮助你获得你追求的初始数据科学或分析师职位。

希望你喜欢这篇文章!


如果你感兴趣成为数据科学家,Python 是另一种必须掌握的语言。查看我下面的旧帖子,我在那里解释了如果我从零开始再次学习 Python,我会采取哪些步骤!

如何自学编程(没有计算机科学学位,没有训练营)

2024 年我将如何学习 Python(从零开始)

另一件事!

我提供一对一的辅导通话,我们可以聊任何你需要的事情——无论是项目、职业建议,还是只是确定你的下一步。我在这里帮助你前进!

[与 Egor Howell 的一对一辅导通话]

职业指导、工作建议、项目帮助、简历审查topmate.io](https://topmate.io/egorhowell/1203300)

与我联系

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐