-
Notifications
You must be signed in to change notification settings - Fork 328
How do beginners learn SQL quickly?
SQL is arguably the most commonly used programming language in the field of data processing and analysis, and many people who want to enter this field but know little about it all ask this question. However, it's probably a pointless question.
Why? Let me tell you the reason.
Those who ask this question should ask themselves first: what's my purpose of learning SQL?
Well, I suppose most of them will answer this way: I hope I can code SQL statement so as to work in the field of data analysis after learning!
Obviously, this is a very common purpose, but things are not as simple as they expect for the reason that in reality, almost no scenarios allow them to do data analysis just by learning SQL syntax.
Why do I say that? Because SQL needs to run in the database, but who will install the database for you? And who will help you import the data into a database to let you do queries and analysis?
Besides, do you just want to take a look at the queried data or want a program code to do the next thing based on the query results? For the latter case, a particularly common situation: don't you want a report?
If you have learned the following things, you will naturally grasp SQL, because it is much less difficult to learn the rudimental SQL syntax itself than these things: installing the database, understanding the mechanism of writing data to the database, accessing the database with program code and executing the SQL, taking out the execution results and proceeding to the next action, etc. On the contrary, if you haven't learned such things, just learning SQL syntax is not very useful. Since learning these things is not easy in itself, learning SQL quickly is a false proposition. In this case, the question should be changed to: how to learn to install MySQL and import data, how to learn to program in Java, and use Java to access Oracle, and so on. In short, learning SQL syntax is just an accompanying product of learning these things, and this question does not deserve to be raised alone.
As a beginner, there is another possible reason for asking this question, that is, the beginner has seen too many misleading posts. After always hearing that SQL is the basic technology for data query and analysis, the beginners will take it for granted that they can do data analysis work by learning SQL, and the reason why they want to do data analysis is that the data analyst is now a hot position.
Generally, it is true that SQL is the basic technology for data query and analysis. However, for beginners, the expectation that they can engage in data analysis work by learning SQL may fail for the reason mentioned above, there will be many things in front of them that are much more difficult than learning rudimental SQL. It's not difficult to learn SQL, the difficulty is to solve such obstacles, otherwise, even if they learn SQL, it's meaningless. If you had the ability to solve all these obstacles, you wouldn't ask this question at all.
If a layman wants to do data analysis, SQL is actually not a suitable programming language to learn as the first step.
Will there be such a scenario: the database and the data in it have already been prepared by professionals, and all you need to do is to code in SQL, without worrying about database installation and maintenance and program access.
Generally, the database administrators dare not take the risk of messing the database up to grant a novice the permission to code in SQL. Even if only the read permission is granted to ensure no data is corrupted, it may also crash the database, making it unusable to everyone. If the read permission is also limited, you can use the interfaces of some BI software to drag the results out directly, and there is no need to code in SQL at all. On the contrary, if the administrator dares to grant you the permission to develop and code in SQL, it's like what I've said earlier that you have probably learned to solve those difficulties such as installing and maintaining the database and even programming to access the database. Therefore, it still needs to change the question in the title of the article.
The fundamental problem is that SQL isn't a tool that can work independently like other tools, and its existence needs to depend on the database and even the program development system, and the difficulty of understanding these objects that SQL depends on is far greater than learning SQL.
Let me say it again: if a layman wants to do data analysis, SQL is not a suitable programming language to learn as the first step.
In this case, what programming language should be learned first when you intend to do data analysis?
This is a digression, click here: A correct method for complete novice to self-study of programming for details.
If your purpose of learning SQL is just because you are very interested in it, can you learn it?
Of course, you can!
So, is there a way to let you just learn SQL syntax, and avoid those troublesome things related to databases and programming languages?
Yes.
If you just want to learn rudimental SQL syntax, it is not difficult because simple SQL statements can be read almost as English. For this purpose, what you need to learn is the concept and operation of the structured data, and any book that introduces SQL will include these contents. Since these contents are world-standard knowledge, you can choose any of such books to learn.
Then, you need to download and install a free esProc SPL (an open-source software that can be easily found online), and find a few Excel files that adopts row-based storage (there are many such data) to use as the data table. The esProc allows you to execute SQL against Excel files, and supports most of the basic SQL syntax. In this way, you can avoid database-related troubles. Click here: Open-source SPL that can execute SQL without RDB for the introduction of support from esProc on SQL, and click here: Easy use of SQL on data files to learn how to use esProc to execute SQL on files.
Since esProc is not designed to provide SQL capabilities, SQL knowledge is not covered in esProc course materials, and hence you have to find it yourself. However, it's easy to find SQL courses as they are everywhere. Moreover, the key to learning SQL is to understand the knowledge related to structured data, such as what is a table or field, and what does the grouping or joining mean, and so on. For such contents, all of them can be found at: SPL Programming - Preface of esProc book, which are more important contents to learn than SQL syntax. The concepts and operations of structured data involved in this book exceed those in SQL course materials both in breadth and depth, and you can also find popular and practical examples in this book, and therefore, this book is more suitable for learning structured data than most SQL textbooks. Once you master such knowledge, you will find it easy and quick to master SQL syntax when you intend to learn SQL syntax.
It should be reminded that learning SQL is simple, but mastering it is difficult. Moreover, the syntax system of SQL is not suitable for processing complex queries, the reason is that for such queries, it often needs to code a SQL statement nested with multiply levels or even hundreds of lines. Click here: Why a SQL Statement Often Consists of Hundreds of Lines, Measured by KBs? for an in-depth discussion and examples on this issue.
SPL Resource: SPL Official Website | SPL Blog | Download esProc SPL | SPL Source Code