What is the difference between inner join, left join, and cross join in SQL?
Define each join type clearly. Explain that an inner join returns rows when there is a match in both tables, a left join returns all rows from the left table and matched rows from the right table, and a cross join returns the Cartesian product of both tables.
"An inner join retrieves rows only where there is matching criteria in both tables. A left join returns all records from the left table, and the matched records from the right table; if no match is found, NULL values are returned for the right table columns. A cross join returns a Cartesian product of the two tables, matching every row of the first table with every row of the second table."