JOIN physical location vs ON location
Why does the physical order of the JOIN... vs the ON.... matter? This first sql statment executes just fine, but the second SQL statement gives the errors:
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "s.stno" could not be bound.
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "g.student_number" could not be bound.
I am working with Microsoft SQL 2005
SELECT DISTINCT(s.sname)
FROM Student s
JOIN Grade_report g
ON s.stno = g.student_number
JOIN Section sec
ON g.section_id = sec.section_id
JOIN Course c
ON sec.course_num = c.course_number
AND c.course_name like 'ACC%'
SELECT DISTINCT(s.sname)
FROM Student s
JOIN Grade_report g
JOIN Section sec
JOIN Course c
ON s.stno = g.student_number
ON g.section_id = sec.section_id
ON sec.course_num = c.course_number
AND c.course_name like 'ACC%'
I am more familiar with the older WHERE clause style, and would likely most of the time use the format of the second select statement above, but it produces errors! So in general should the JOIN and the related ON clause stay physically close together. Or what tips or concepts should I have or know!
Thank-you!