join three tables
Posted by: William Lou
Date: March 06, 2008 04:55PM
I have a problem about joining three tables A, B, C:
table A has the serial_number as its primary key,
table B has the serial_number as its primary key but serial_number is not unique in this table (combined with category, group etc. other columns as primary key together )
table C has some common columns with table B
Now I want to select the serial_number from table B with certain conditions from Table C, so I could use the following query:
select distinct tB.serial_number from table_B as tB join table_C as tC Where Conditions;
And then, I would like to add the serial_number in table_A but not in table B to the serial_number I just selected, so I would use something like:
select distinct tB.serial_number from table_B as tB join table_C as tC Where Conditions
select serial_number from table_A not in table_B;
is it right? I think it's the right way to do that.
Another question, with the same task, can I do the query like this:
select tA.serial_number from table_A as tA LEFT JOIN table_B as tB ON tA.serial_number = tB.serial_number JOIN tableC as tC WHERE Conditions..
That's what I understand about "LEFT JOIN", SQL will select serial_number from table_B and table_C with the conditions satisfied first and then join table_A with serial_number only in table_A but not in table_B. Am I right?
Thanks for your reply!!!!!
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.