中文解釋SQL |
尚未結案
|
isthatu
初階會員 發表:80 回覆:47 積分:25 註冊:2002-06-26 發送簡訊給我 |
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hello :
SELECT A.* FROM A LEFT JOIN B ON A.ID=B.ID AND b.ID='123'
只要A表格ID有資料, 不管b.ID是否有資料對應都會有結果出來 SELECT A.* FROM A LEFT JOIN B ON A.ID=Bb.ID where b.ID='123'
A表格ID有資料, 且b.ID要等於'123'才會有結果出來, 所以只會顯示A.ID='123'的資料 我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
isthatu
初階會員 發表:80 回覆:47 積分:25 註冊:2002-06-26 發送簡訊給我 |
引言: Hello : SELECT A.* FROM A LEFT JOIN B ON A.ID=B.ID AND b.ID='123' 只要A表格ID有資料, 不管b.ID是否有資料對應都會有結果出來 SORRY 題目應該是這樣 SELECT A.*,B.* FROM A LEFT JOIN B ON A.ID=B.ID AND b.ID='123' 必須呈現A表ID所有資料比數 兩表未對應處 則B表欄位以空值呈現 且B表欄位只呈現B.ID等於123的欄位 其餘不呈現 真咬文爵字 這樣不曉得對不對 SELECT A.* FROM A LEFT JOIN B ON A.ID=Bb.ID where b.ID='123' A表格ID有資料, 且b.ID要等於'123'才會有結果出來, 所以只會顯示A.ID='123'的資料 SELECT A.*,B.* FROM A LEFT JOIN B ON A.ID=Bb.ID where b.ID='123' 這個跟select A.*,B.* from A,B where a.id=b.id and b.id='123' 好樣一樣 找出A.ID等於123的A表資料 我不是高手, 高手是正在銀幕前微笑的人.BCDEFHIJKLMNOPQRSTUVWXZ
------
BCDEFHIJKLMNOPQRSTUVWXZ |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好. SELECT A.*,B.* FROM A LEFT JOIN B ON A.ID=B.ID AND b.ID='123'
A表和B表做合并處理, 合并比對條件為A表和B表的ID欄位值相同或者B表的ID欄位值為'123', 回傳符合合并比對條件的所有資料. SELECT A.*,B.* FROM A LEFT JOIN B ON A.ID=Bb.ID where b.ID='123'
A表和B表做合并處理, 合并比對條件為B表的ID欄位值為'123'且A表和B表的ID欄位值相同, 回傳符合合并比對條件的所有資料. 參考看看! =====================
努力,相信會獲得美麗!
忻晟
------
忻晟 |
Jeffrey
初階會員 發表:10 回覆:58 積分:38 註冊:2002-04-15 發送簡訊給我 |
小弟也來解釋看看,不對之處,請大家指教! SELECT A.* FROM A LEFT JOIN B ON A.ID=B.ID AND b.ID='123'
SELECT A.* FROM A LEFT JOIN B ON A.ID=Bb.ID where b.ID='123' 不論其序述所得的結果,以語法來說,on 後之條件在於規定A與B資料表(A LEFT JOIN B)建立關聯時的條件,而Where以後是過濾B資料表之條件,但就不知道on與Where那一個條件先處理(如果是這樣的話,相信在"速度"上會有差別),還是資料庫會重新調整"重排",就不知道了。
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |