oracle 左连接和右连接问题,请帮小菜一下啊,搞清不为什么!!
1---------------------------------
SELECT * FROM JB_STOCK A,
JB_HISBASE C
WHERE
A.F_ID = C.F_ID(+)
AND A.F_ID = '000001'
AND C.F_DATE(+)>=(TO_DATE('20051231','YYYYMMDD')) AND C.F_DATE(+) <= TO_DATE('20051231','YYYYMMDD')
上面为什么是左连接??
C.F_DATE(+)>=(TO_DATE('20051231','YYYYMMDD'))为什么(+)不能放右边?不能放右边什么是左连接??搞不清
2------------------------------
SELECT * FROM JB_STOCK A LEFT OUTER JOIN JB_HISBASE C
ON A.F_ID = C.F_ID AND
C.F_DATE>=(TO_DATE('20051231','YYYYMMDD')) AND
C.F_DATE <= TO_DATE('20051231','YYYYMMDD') AND
A.F_ID =('000001')
为什么这样写没有用?语法没错,但是A.F_ID =('000001')没用起作用!!晕
3-----------------------------
SELECT * FROM JB_STOCK A LEFT OUTER JOIN JB_HISBASE C
ON A.F_ID = C.F_ID AND
C.F_DATE>=(TO_DATE('20051231','YYYYMMDD')) AND
C.F_DATE <= TO_DATE('20051231','YYYYMMDD')
WHERE A.F_ID IN('000001')
为什么可以?
----------------
我主要想问第一个问题,为什么(+)不能放右边,却叫左连接?
能不能请清楚一点,这个我菜。