看板 Database 關於我們 聯絡資訊
※ 引述《arrack (艾瑞克)》之銘言: : 1.特殊用途,例如選取主KEY跟主KEY下一筆以外的資料 : SELECT A.id FROM news AS A LEFT JOIN : (SELECT id FROM news WHERE id >= : (select IFNULL(max(id),10) from news where id <10 ) : ORDER BY id LIMIT 3) AS B : ON A.id = B.id WHERE B.id IS NULL : (過濾id=10跟下一筆) : 在我的邏輯裡,就不知道Where該怎麼做了 重點是差 left join 而已, 不少 DBMS 都有提供 where-clause 做 left/right join: select A.id from news as A, (select id from news where id >=......) as B where A.id(+)=B.id and B.id = null 這樣應該可以吧 應該沒有用 where clause 表達不出來的 join clause, 不過 left/right/outer join 則是看各家 syntax, 沒有標準. join clause 則是標準. 不過, 個人是大力傾向用 join clause, 最重點是可讀性和標準性. 尤其是用 where clause, 會把 join 的 criteria 和其他 filtering criteria 混在一起, 可以變得很 難理解. alien -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
arrack:受教了^^ 09/18 05:16
adrianshum:言重了 >_< 09/18 14:26