Let's see what happens if we skip the ON
clause from a simple JOIN
query, where we want to display name of students and name of courses.
Notice the result. It is comprised of all possible combinations of a student and a course. So each of the 25
students
, is paired with each of the 13
courses
, producing a total of 25 * 13 = 325
rows in the results. This kind of a result, which produces all possible combinations of results from two or more tables, in the absence of a matching criteria, (in this case, an ON
clause) is called a CARTESIAN PRODUCT
.
Let's turn the above feature into a problem we can solve. Let's say we want to display all possible combinations of student names and course names, and a boolean result (0/1) against each combination if the student is enrolled in the course.