Begin by understanding that SQL is a set-oriented language, meaning that well designed queries do operations on sets of data. If you approach it with a procedural (row-by-row) mindset that languages such as BASIC use, you will be in for an uphill battle. The good news is that the majority of things that you'll want to do can be done with very little syntax. There aren't a million commands and keywords to learn, rather it has a straightforward and fairly intuitive structure.
Once you get the basics of the language mastered, start learning about the mechanics of how indexes work and how the storage engine operates. That will grow your effectiveness. Next, concentrate on learning sound data architecture principles.
Being successful with SQL requires a different mindset than most procedural or object-oriented programmers have. That's why the most horrid abominations in the database world come from well-established application programmers.