At 8:13 AM -0400 9/1/09, Dan Cech wrote:
Michael Southwell wrote:
 It's always seemed easier and clearer to me to use WHERE instead of JOIN
 (where the table IDs are indeed named id, and the foreign keys are
 labeled with the table name):

 SELECT product_name, vendor_name
 FROM product, vendor
 WHERE vendor.id = product.vendor_id

The problem with this approach is that you end up with the join
conditions and the 'real' selection criteria mashed together.

SELECT product_name, vendor_name, category_name
FROM product, vendor, category
WHERE vendor.id = product.vendor_id AND price > 50 AND category.id =
product.category_id AND color = 'red'

vs

SELECT product_name, vendor_name, category_name
FROM product
JOIN vendor ON vendor.id = product.vendor_id
JOIN category ON category.id = product.category_id
WHERE price > 50 AND color = 'red'

I mixed up the order of the WHERE elements in the first query for the
purposes of this example, but I have seen stuff like that in production
code.

Dan

Dan:

I need to understand joins much better than I do now because the first query I fully understand while the second I don't.

Cheers,

tedd
--
-------
http://sperling.com  http://ancientstones.com  http://earthstones.com
_______________________________________________
New York PHP User Group Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

http://www.nyphp.org/show_participation.php

Reply via email to