Yes, I was wrong, there is no error if I take away "outer" and the result is the same. However, let's me clearify a little. OK, in 3 tables: A,B and C:
+ 'id' in A is primary, means unique
+ 'id' in B and C is not unique.
+ There is always at least one 'id' in B as same in A. However, 'id' in C is not necessary to be exist as same as 'id' in A.
+ The query will get a record in B if 'uid'=1
+ The query will get a record in C if 'uid'=1
or not exist.
Wow, now it's a big problem to me. Please help me again. This is too hard.