看板 Soft_Job 關於我們 聯絡資訊
不知這問題會不會很蠢... 最近開始主管有需求要查詢比對SQL的資料 簡單的都沒有什麼問題 不過現在在做跨資料庫的查詢時,常常會碰到結果本該是10個 卻只篩選出7~8個 然後就陷入五里霧中... 想問各位前輩們 碰到這種狀況 身邊又沒有認識的人能夠問的情況下 有沒有辦法精進我的SQL查詢技術呢? 手邊工具書有 學習SQL的15堂課.SQL語法範例辭典 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.138.239
f124:先從DB的結構開始了解吧...不然連撈啥都不知道.. 08/24 16:38
jamestian:你現到個別資料庫去看那10筆資料是否單獨都有. 如果原始 08/24 18:00
jamestian:資料有, 你再想如何用sql語句查出你要的資料,希望有幫助 08/24 18:01
jamestian:sql精進, 就是要多查累積經驗 , 08/24 18:03
jamestian:可能的問題很可能是出現在你的where語句或groupby. 08/24 18:04
epenpal:搞不好raw data 就有問題了喔。^^ 08/24 18:20
smlboby:先查欄位資料,常遇到的筆數不符,都是資料內容和想像不同 08/24 19:54
smlboby:ex. where column1='A',結果column1的資料有'A','A ',' A' 08/24 19:55
caty1010:延伸詢問 有無HQL的教學資源呢? 08/24 22:04
caty1010:最近被要求要在hibernate下做事 好難懂 08/24 22:05
qrtt1:hibernate 文件那麼詳細,不然就買書絕對更加詳細。 08/25 00:09
jamestian:先把sql練好再說 , hql不難.只是把sql用method api的型 08/25 00:52
jamestian:式表達,,所以你sql不會,你一定也不會hql 08/25 00:52
jamestian:真正要查多又複雜的資料還是要會sql,hql拿來crud還算方 08/25 00:55
jamestian:方便, 不會hql不會怎樣,不會sql,幾乎很難寫application 08/25 00:55
CelestialRel:我覺得就是多練習多查而已,沒有捷徑 08/25 05:26
solamb:個人習慣在撈資料都會把各欄位給rtrim或ltrim掉 08/25 08:10
jamestian:回文的大大,都很有實務經驗 08/25 11:22
各位的建議我會記住的@@ 我知道資料表內所有的資料格的名稱欄位格式都了解 單純的JOIN A跟B的查詢我都很OK 不過目前開始要寫INNER(LEFT) JOIN A B C D E 常常會寫完後 發現篩選的資料筆數不對(因為原本是用人工EXCEL作業.經比對後才知道) 資料庫裡的資料確定都對 就是篩出來很怪-.- 最近上班 整天就是在寫SQL...碰到這種盲點還真讓我頭疼 所以想問大家有沒有好書推薦 或是各位有比較有效率的整理SQL資料的方法... ※ 編輯: et54987 來自: 61.230.137.37 (08/25 12:38)
tomo1026:我也是原先以為都是碰應用程式 結果近來都在寫SQL orz 08/25 15:07
jamestian:可以先試著分段寫sql query,然後慢慢找出關聯性用subque 08/25 16:05
jamestian:用subquery or join把小query結合成大query, 08/25 16:06
jamestian:基本上sql是程式的肉, 除非只是單純寫演算法的api,那就 08/25 16:08
jamestian:那就另當別論,因為sql代表著business,甚至比程式還重要 08/25 16:09
solamb:只能說~不管是寫哪種程式~都脫離不太了sql~因為都是databas 08/25 17:26
haloarch:請問你是用哪一家的SQL?有個M頭的你給他一個join會傻一下 08/26 20:44
haloarch:,未斷行的兩個join你會傻。都做三五個自家用的table, 08/26 20:46
haloarch:把他們和主人家用的關係打好。會輕鬆得像古狗。 08/26 20:48
jamestian:有誰可以翻譯一下樓上的在說啥?? 08/26 20:53
haloarch:j大,只說SQL是一種標準嘛,設計可以給他用的Server或area, 08/27 19:50
haloarch:是某些公司或團體做的。未必都很好;SQL講的話都會執行, 08/27 19:52
haloarch:但是善意的隱藏自己的缺點。。有了問題查詢不方便, 08/27 19:55
haloarch:是可以在正常使用的table以外偷掛幾個table來裝一般常用 08/27 20:00
haloarch:的查詢;剩下的只是有沒有動用那Server的權力和能力。 08/27 20:04
haloarch:反正佔據不多磁碟機,使用者不覺得變慢。就算暫時的也行. 08/27 20:11
abstergo:有誰可以翻譯一下樓上的在說啥?? 08/27 20:25
haloarch:j大 a大在逼我呃!語文不好再說一次:前手做的relationship 08/27 21:44
haloarch:不夠好,能用;但是關係不夠嚴謹所以不容易正確找到東西, 08/27 21:47
haloarch:我不能把航行中的船從中斷開加補column但是可以為了某些 08/27 21:50
haloarch:目的副掛小船;前提是了解了系統現在的各種關係,作出表格, 08/27 21:53
haloarch:查驗有無缺漏的關係(通常很多),而又取得新增table和改寫 08/27 21:56
haloarch:程式的權力;把我算計過的必要檔和欄副掛到程式中.在 08/27 22:00
haloarch:影響到原來的處理程序之下,填入所開的table,把整個系統的 08/27 22:02
haloarch:資料正常化(沒有最好的)一點.那麼要我查詢有的沒有的; 08/27 22:03
haloarch:就可以從那些副掛的內容找到,並且從'正式的'table帶出來. 08/27 22:06
haloarch:另外;不同牌子的SQL差異很大。 08/27 22:09
pooznn:先搞清楚各種JOIN出來的結果 差別在哪裡吧! 08/28 02:46