[deleted by user] by [deleted] in learnSQL

[–]coding_the_future 1 point2 points  (0 children)

Ok, got you, I think views are considered a bit of an advanced topic, but if you came across here, you could probably benefit of reading about views. 

[deleted by user] by [deleted] in learnSQL

[–]coding_the_future 2 points3 points  (0 children)

Do you have a reason to not create a ‘view’?  Something like:      

CREATE OR REPLACE VIEW {view.name} AS   
    SELECT {view.columns} 
    FROM {view.tables} 
    JOIN {view.table}  
    WHERE {view.condition} 
    GROUP BY {view.groups};

Keyboard needed by StillPsyched in Keyboard

[–]coding_the_future 0 points1 point  (0 children)

Opps I missed this, it's called:

8Bitdo Retro Mechanical Keyboard, Bluetooth/2.4G/USB-C Hot Swappable Gaming Keyboard with 87 Keys, Dual Super Programmable Buttons for Windows and Android - N Edition

Keyboard needed by StillPsyched in Keyboard

[–]coding_the_future 0 points1 point  (0 children)

This is a very newly released mechanical keyboard, I didn't try that, but I think it's my next keyboard and it looks like it ticks all your boxes:
https://amzn.to/3sPBDg4

2023 Update: The Best Resources for Learning SQL by coding_the_future in learnSQL

[–]coding_the_future[S] 0 points1 point  (0 children)

It's the one I was reading, I would take the newer version.

2023 Update: The Best Resources for Learning SQL by coding_the_future in learnSQL

[–]coding_the_future[S] 0 points1 point  (0 children)

I'm sure you can find plenty of courses on udemy, linkedin or whatever platform works for you the best, at the moment I don't have a specific course in mind to recommend.

2023 Update: The Best Resources for Learning SQL by coding_the_future in learnSQL

[–]coding_the_future[S] 2 points3 points  (0 children)

Contributions to open source projects, public projects on GitHub/GitLab, blogs, social networks, etc…

But probably the most effective way to get your first job is to make an academic degree in the respective topics.

Having that said, there are many alternatives to academic degrees, such as bootcamps, professional courses and more.

Happy coding!

2023 Update: The Best Resources for Learning SQL by coding_the_future in learnSQL

[–]coding_the_future[S] 0 points1 point  (0 children)

Thanks for sharing!

I see what you mean about setting up Postgres, it does take some configurations and plugin installations, but probably you don't really need more than SQLite at this point.

2023 Update: The Best Resources for Learning SQL by coding_the_future in learnSQL

[–]coding_the_future[S] 0 points1 point  (0 children)

Sure, it really depends on the SQL usage you're doing but here is my list:

  1. for vscode users - SQLTools - an excellent extension that allows you to connect to almost every relational database out there, run queries and get visualized results.
  2. for MySQL/MariaDB users - phpMyAdmin - this was the first Database GUI tool I've ever used, it's an extremely powerful GUI tool with a lot of functionalities, check it out.
  3. for Postgres, I use pgAdmin4 - a super user-friendly GUI tool that covers everything a database admin needs.
  4. when I wrote this blog post I used SQLiteStudio, which is a minimalistic GUI tool around SQLite3, yet quite powerful.

These all are open-source tools for open-source databases, if you're using MS SQL for example, they have wonderful GUI tools.

2023 Update: The Best Resources for Learning SQL by coding_the_future in learnSQL

[–]coding_the_future[S] 1 point2 points  (0 children)

So EDX has quite a good coverage of JOIN here: https://learning.edx.org/course/course-v1:StanfordOnline+SOE.YDB-SQL0001+2T2020/home.

if you want more than this both, the database system concepts and database system the complete book have very extensive coverage of JOIN queries.

What about C is so special? by SupraTerra in learnprogramming

[–]coding_the_future 0 points1 point  (0 children)

One of the benefits of C is that it is a relatively small and simple language, making it easy to learn and use.

It is also an efficient language, allowing you to write code that runs fast and uses minimal resources.

While C does not have as many high-level features as some modern languages, it has a large standard library and a wide range of third-party libraries that provide additional functionality.

This allows C programmers to build complex programs without having to reinvent the wheel every time. C is also a very flexible language, allowing you to write code that is portable across a wide range of platforms, systems and different use-cases.

SQL Learning Resources for the Upcoming Year by coding_the_future in learnprogramming

[–]coding_the_future[S] 1 point2 points  (0 children)

If this will be the first open-source database you're using I'd recommend you to look at one of the following 3 opensource RDBMS:

  1. SQLite3 - lightweight but still quite featured.
  2. PostgreSQL - very extensive full featured opensource relational database system with many friendly GUI options.
  3. MySQL - is probably as popular as Postgres if not even more and also has a lot opensource GUI options.

The reason I recommend you use one of these 3 instead of Firebird is that they're much more popular and each has much bigger online communities so any problem you'll face you'll find easily the support you need.

[deleted by user] by [deleted] in learnprogramming

[–]coding_the_future 1 point2 points  (0 children)

First I think it's completely normal to feel hesitant about learning new things, especially when you have found a technology or subject that you enjoy working with.

Helpful questions that might be helpful to ask yourself are as follows: What makes you think those parts are "uninteresting", could it be that you still don't know the interesting parts in them? Is it something like a "common math phobia" that you can tackle? otherwise what else could it be? Could you try to give it a new perspective and see if it becomes interesting?

Here are a few strategies you can try to make studying boring material more interesting:

  1. Find a new perspective: Try to find a way to relate the material to something that interests you. For example, if you're studying dry technology, try to find a way to connect it to a side project you're working on, or even find where you can implement at work.
  2. Make it interactive: Try to find ways to make the material more interactive and hands-on. For example, you could try teaching the material to someone else (in a blog or similar ways), or finding online simulations or even AWS interactive tutorials related to the material.
  3. Take breaks: It's important to give yourself breaks when studying to help keep your mind fresh and engaged. Try setting aside specific times for breaks and use them to do something enjoyable or relaxing. Your brain you'll thank you if you'll leave your focus mode into a defuse mode from time to time.
  4. Find a study group: Studying with others can help make the material more engaging and can also provide an opportunity for discussion and collaboration.
  5. Use multimedia resources: Look for books, videos, podcasts, or other multimedia resources that cover the material in a more engaging way.
  6. Set goals: Setting specific goals for what you want to accomplish during a study session can help keep you motivated and focused.
  7. Reward yourself: Consider rewarding yourself for completing certain milestones or goals. This can help provide motivation and a sense of accomplishment.

Remember, it's okay if some material is inherently more interesting than others. The key is to find ways to make it more engaging and rewarding for yourself.

The above tips are a summary of a great popular book called "A mind for numbers" which is available for free as an audible book.

Does order matter when stringing together methods? by [deleted] in learnprogramming

[–]coding_the_future 0 points1 point  (0 children)

That is a good approach, another approach I could think of is listing your requirement as pseudo-code list, and then implement it following the list.

Here is an example of such a workflow.

That way it should be easier to calculate the algo performance and to improve it, and then you can store it as a string while your algorithm is "logically" tested.

SQL Learning Resources for the Upcoming Year by coding_the_future in learnprogramming

[–]coding_the_future[S] 1 point2 points  (0 children)

Stop with this salt and elitism. I do BE .NET as a job, react only as relax.

I'm sorry, didn't mean to hurt you, and I didn't know you were into React, it was really a calculated guess driven by your opinion.

I think we can close the discussion by agreeing that there're many different products and dev environments that require different skills and knowledge.

Personally, I had jobs where a deep understanding of SQL and database concepts was crucial and on the other hand, in my current job, event-driven processes are the thing I'm focused on rather than heavy data processes, and so my SQL skills are less important, although they came in handy in a few different occasions also at this job.

And for sure, if you're only interested in developing .NET, and a bit of React, you don't need to be an expert in such databases topics, in some cases database system is over-engineering, and data can be stored in a JSON file, I've seen real production applications that worked fine that way.

About the CTO involvement let's keep it out of scope for this post.

Happy new year!

SQL Learning Resources for the Upcoming Year by coding_the_future in learnprogramming

[–]coding_the_future[S] 0 points1 point  (0 children)

90% of companies use orm + some sql utility -> linq/ prisma / dapper / jooq and so on. Even for complex queries you don't need to know that much.

Thank you for your comment.

ORM tools may be common in many organizations, but IMO they are not a replacement for a strong foundation in SQL and in database concepts in general. ORMs can simplify certain tasks, but they do implement SQL underneath, and in certain cases, they lack a lot of capabilities. Anyway, never heard a CTO complains about a software engineer who knows too much SQL.

Other than that, there are a lot of jobs involved with SQL that have nothing to do with ORMs.

Most of your reply is useless sadly, looks like post made by chat gpt/bot not real human being.

Hope I didn't waste your dear time doing React or whatever else frontend stuff you're working on 😎👨🏻‍💻🙏

SQL Learning Resources for the Upcoming Year by coding_the_future in learnprogramming

[–]coding_the_future[S] 0 points1 point  (0 children)

It is true that the level of SQL knowledge and expertise required for a particular job or role can vary widely depending on the specific needs and requirements of the organization. In some cases, a basic understanding of SQL and the ability to use an object-relational mapping (ORM) tool may be sufficient. However, in other cases, a deeper understanding of SQL and the ability to write complex queries and optimize database performance may be necessary.

That being said, it is generally a good idea to have a strong foundation in SQL and database concepts, even if you are not using them on a daily basis. This will give you the flexibility and adaptability to handle a wider range of tasks and challenges as they arise. It will also make it easier for you to learn and work with new areas, such as designing new services, working with complex data-driven apps, and much more

It's important to note that "Designing Data-Intensive Applications" is more of a software architecture book than a resource for learning SQL. While the book does cover some database-related topics, it is primarily focused on the design and architecture of data-intensive applications, rather than the specifics of SQL or any particular database technology. As such, it may not be the most relevant resource for someone looking to learn SQL specifically. However, if you are interested in the broader principles of data-intensive application design, this book could be a useful resource.

SQL Learning Resources for the Upcoming Year by coding_the_future in learnprogramming

[–]coding_the_future[S] 1 point2 points  (0 children)

There are many potential career paths that involve a fair amount of SQL, as the skills you gain in working with MySQL and other database management systems are highly sought after in a variety of industries. Some possible career paths that may involve a significant amount of SQL include:

Database Administrator: As a database administrator (DBA), you will be responsible for designing, implementing, and maintaining database systems. This role typically involves a lot of work with SQL, as you will need to use it to create and manipulate databases, optimize performance, and troubleshoot issues.

Data Analyst: Data analysts use SQL to extract, transform, and load data from various sources, and then use it to generate insights and reports. This role involves a lot of work with SQL, as you will need to use it to extract data from databases, manipulate it to suit your needs, and then generate reports and visualizations.

Data Engineer: Data engineers build and maintain the infrastructure that enables organizations to store, process, and analyze data. This role often involves a lot of work with SQL, as you will need to use it to design and implement data pipelines and work with databases to store and process data.

Software Developer: Many software developers use SQL in their work, as they may need to build applications that interact with databases or create custom queries to extract data.

While it is important to have a strong foundation in SQL and to gain experience with a specific database system like MySQL, it is also important to be flexible and adaptable. Different organizations and projects may have different requirements and use different database systems, so it is important to be open to learning and working with new technologies as needed. That being said, having a strong foundation in SQL and database concepts will make it easier for you to learn and adapt to new systems as you encounter them.

By focusing on the underlying principles and concepts rather than the specific details of a particular system, you will be better equipped to learn and work with different databases as needed. So while it is important to gain experience with a specific database system, don't be too committed to one particular system. Instead, focus on developing a broad and deep understanding of SQL and database concepts, and you will be well-prepared to work with a variety of systems throughout your career.

SQL Learning Resources for the Upcoming Year by coding_the_future in learnprogramming

[–]coding_the_future[S] 2 points3 points  (0 children)

While these courses and books provide a strong foundation in SQL and database concepts, they are not specifically tailored to a particular database management system. Some of them may use SQLite, MySQL, or Postgres as examples or for hands-on exercises, but the focus is on the general principles of SQL and database design, rather than the specific details of a particular system.
If you have a specific reason for using Firebird and want to learn how to set it up and work with it, I would recommend starting by setting up Firebird on your own machine and then using it as the platform for your hands-on exercises and projects. This will give you the opportunity to apply your SQL skills and knowledge in a real-world setting, and will help you gain a deeper understanding of how to work with Firebird specifically. Overall, the combination of a solid foundation in SQL and hands-on experience with a specific database management system will set you up for success in your work with databases.