title: What is the difference between implicit/explicit joins?
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/44917/explicit-vs-implicit-sql-joins">Explicit vs implicit SQL joins</a>  </p>
  </blockquote>
  
  
  
  <p>I understand that lots of people will shout at me now. But from my understanding</p>
  
  <p>Say I have two tables</p>
  
  <p><strong>STUDENTS</strong></p>
  
  <pre><code>student_id
  firstname
  surname
  </code></pre>
  
  <p><strong>COURSES</strong></p>
  
  <pre><code>course_id
  name
  student_id
  </code></pre>
  
  <p>So the courses table has a foreign key <code>STUDENT_ID</code> meaning that ONE student can have MANY courses yes?</p>
  
  <p>OKAY.</p>
  
  <p>From my understanding, if I want to select all the course associated with ONE student I could do either these:</p>
  
  <pre><code>SELECT * 
  FROM courses AS c, students AS s 
  WHERE c.student_id = s.student_id 
    AND s.student_id = 1;
  </code></pre>
  
  <p>OR</p>
  
  <pre><code>SELECT * 
  FROM courses AS c 
     JOIN students AS s ON c.student_id = s.student_id AND s.student_id = 1;
  </code></pre>
  
  <p>So what's the point in the JOIN when its essentially EXACTLY the same as the WHERE?</p>
  
  <p>I know my understanding is WRONG but I cannot find a simple answer.</p>
  
  <p>Please enlighten me!</p>