I have a question between two very similar PostgreSQL statements:
UPDATE classes SET year = 1 FROM professors WHERE (professors.class = classes.class) AND professors.name = 'Smith'`
This one seems to inner join the
classes
table and theprofessors
table, and update only the record inclasses
where the corresponding professor's name is Smith.UPDATE classes c SET year = 1 FROM classes cl JOIN professors on (professors.class_id = cl.class_id) WHERE professors.name = 'Smith'`
This updates every single record in classes. Why is this statement different from the first one?