It has to do with the types of records that are returned.
For example, an Inner Join returns data ONLY when rows exist in both tables, so in your above example if I did an INNER Join on emp.EmployeeID = proj.EmployeeID an ID must exist in both the source table and the table we are joining on.
A LEFT JOIN will return data even if there is no matching data in the second table. So in your example, if the Employees table contained the ID 1 and the Projects table did not have an employee_fk of 1 all of the values you are returning from the Projects table will return NULL.
A RIGHT JOIN is the exact opposite. If there is data in the second table (the table you are joining) that does not exist in your first table (the table in your FROM clause) the values from your first table will return NULL.
hth.
================================================== =========
Read this if you want to know how to get a correct reply for your question:
http://www.catb.org/~esr/faqs/smart-questions.html
================================================== =========
Technical Editor for:
Professional Search Engine Optimization with ASP.NET
http://www.wiley.com/WileyCDA/WileyT...470131470.html
================================================== =========
Why can't Programmers, program??
http://www.codinghorror.com/blog/archives/000781.html
================================================== =========