Parents and Children aren't really the best examples when you are looking at this, they make you think of that specific family 'relationship', which puts constraints on how you think.
Let's take two simpler tables:
a: b:
a.id a.val b.id b.val
1 a1 1 b1
2 a2 3 b3
4 a4 5 b5
6 a6 6 b6
7 a7
Here is a simple left outer join:
SELECT a.*, b.* FROM a LEFT OUTER JOIN b ON a.id = b.id;
Here "a" is the left table, so all the rows from the table "a" will be included, but there will only be rows from table "b" where they match, otherwise all the fields selected from that table will be "null".
result:
a.id a.val b.id b.val
1 a1 1 b1
2 a2 null null
4 a4 null null
6 a6 6 b6
7 a7 null null
Here is a simple right outer join:
SELECT a.*, b.* FROM a RIGHT OUTER JOIN b ON a.id = b.id;
Here "a" is still the left table, but because we've specified a right join all the rows from "b" will be included, but only matching rows from a.
result:
a.id a.val b.id b.val
1 a1 1 b1
null null 3 b3
null null 5 b5
6 a6 6 b6
LEFT and RIGHT just refer to the tables in the JOIN clause, and will both give nulls depending on what data is in the tables.
If you swap the tables and use LEFT instead of RIGHT (or vice-versa) it's just the same, so the following is the same as the first query above:
SELECT a.*, b.* FROM b RIGHT OUTER JOIN a ON a.id = b.id;
Note that the order of the tables in the SELECT or ON clauses doesn't affect the join clause.
An INNER JOIN doesn't take a LEFT or RIGHT term, as it doesn't show all records from either the left or right side, just those that match:
SELECT a.*, b.* FROM a INNER JOIN b ON a.id = b.id;
result:
a.id a.val b.id b.val
1 a1 1 b1
6 a6 6 b6
Instead of thinking of Parent and Child think of the tables just as sets of data, that is probably what is confusing you.