Natural Join
NATURAL JOIN matches columns that have the same name on both tables and you do not write ON. If both have roll, it joins on roll. If they also both have created_at, it joins on that too — surprise.
Don’t use NATURAL JOIN in production. Name the columns: JOIN … ON s.roll = m.roll. Interviews: know it, then say you avoid it.
Trap — NATURAL JOIN as the default in answers. Hidden extra same-name columns.
On the example next to this theory — Natural Join — jOIN combines rows using a match condition between tables.
students.id
=
marks.student_id
│
▼
one result rowExam tip
Know NATURAL JOIN. Prefer JOIN … ON s.roll = m.roll.