Richard, This is the case for using a LEFT JOIN. You want everything from the "left" table regardless of if it has a match in the "right" table. In this case which table is left or right depends on which table name exists to the left of the JOIN clause.
This will show you all events regardless if they are sponsored or not. If an event has multiple sponsors, you will get one row for each event-sponsor match. Events that do not have sponsors will return NULL for s.name . SELECT FROM e.name, e.date, s.name FROM event e LEFT JOIN sponsor s ON e.sponsor_ID = s.ID In the other direction, if you wanted to see which sponsors didn't have events yet: SELECT FROM e.name, e.date, s.name FROM event e RIGHT JOIN sponsor s ON e.sponsor_ID = s.ID WHERE e.name IS NULL Of course, with things being symmetric you could also write: SELECT FROM e.name, e.date, s.name FROM sponsor s RIGHT JOIN event e ON e.sponsor_ID = s.ID and SELECT FROM e.name, e.date, s.name FROM sponsor s LEFT JOIN event e ON e.sponsor_ID = s.ID WHERE e.name IS NULL The LEFT or the RIGHT of a JOIN determines which table "drives" the join and which table is "optional". You can mix and match as necessary. The rows in the "optional" table that do not meet the condition(s) specified in the ON clause will return NULL values for all columns for that row. Shawn <Richard Wrote> I have two tables: EVENT ID name date sponsor_ID 23 Sady Hawkins 2004-11-04 235 89 Founders Day 2004-12-21 NULL 87 Winter Gala 2004-01-23 NULL SPONSOR ID name 235 George Suter 34 William Riggs 896 Lidia Bronson I am having trouble writing a query that joins both tables but will pull up an event even if it DOES NOT have a sponsor. SELECT FROM e.name, e.date, s.name FROM event e, sponsor s WHERE e.sponsor_ID = s.ID This query works only for those events that have a sposor. Any help would be greatly appreciated. Richard -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]