What are the different types of joins in SQL and when to use each?

Technical