一个涉及到多个表的查询
现在数据库有三个表: 
 UserInfo(用户信息表),字段如下: 
 UserID   --用户ID 
 UserName   --用户名   
 BookPreBorrowInfo(图书预借信息表),字段如下: 
 ID    
 UserID   --预借人的ID,作为用户信息表UserID外键 
 BooKID   --所预借的图书ID     
 MagaPreBorrowInfo(杂志预借信息表),字段如下: 
 ID 
 UserID   --预借人的ID,作为用户信息表UserID外键 
 MagaID   --所预借的杂志ID   
 现在我要查询所有有预借行为用户名(无论是借图书还是借杂志),还要求唯一(就是比如甲既借了图书又借了杂志那么查询结果只能出现甲一次)。   
 我写了一个查询语句: 
 select   unique   t1.userName   from   UserInfo   t1,BookPreBorrowInfo   t2,MagaPreBorrowInfo   t3   where   t1.UserID   in   t2.UserID   and   t1.UserID   in   t3.UserID   
 但是不对。我想那个查询条件不应是and,而应是or。不知是不是这样?   
------解决方案--------------------這個問題好像在哪見過. 
 select  
 decode(nvl(t.UserID,0),0,v.UserID,t.UserID) userID, 
 t.BookID, 
 v.MagaID 
 from bookPreBorrowInfo t 
 full join magaPreBorrowInfo v on t.UserID=v.UserID
------解决方案--------------------用左连接不行吗?然后再判断 BooKID 和 MagaID 是否为空就可以了   
 难道我理解有误?