[請益] 如何增進SQL技術呢?

看板Soft_Job作者 (象)時間12年前 (2013/08/24 16:36), 編輯推噓11(11035)
留言46則, 12人參與, 最新討論串1/1
不知這問題會不會很蠢... 最近開始主管有需求要查詢比對SQL的資料 簡單的都沒有什麼問題 不過現在在做跨資料庫的查詢時,常常會碰到結果本該是10個 卻只篩選出7~8個 然後就陷入五里霧中... 想問各位前輩們 碰到這種狀況 身邊又沒有認識的人能夠問的情況下 有沒有辦法精進我的SQL查詢技術呢? 手邊工具書有 學習SQL的15堂課.SQL語法範例辭典 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.138.239

08/24 16:38, , 1F
先從DB的結構開始了解吧...不然連撈啥都不知道..
08/24 16:38, 1F

08/24 18:00, , 2F
你現到個別資料庫去看那10筆資料是否單獨都有. 如果原始
08/24 18:00, 2F

08/24 18:01, , 3F
資料有, 你再想如何用sql語句查出你要的資料,希望有幫助
08/24 18:01, 3F

08/24 18:03, , 4F
sql精進, 就是要多查累積經驗 ,
08/24 18:03, 4F

08/24 18:04, , 5F
可能的問題很可能是出現在你的where語句或groupby.
08/24 18:04, 5F

08/24 18:20, , 6F
搞不好raw data 就有問題了喔。^^
08/24 18:20, 6F

08/24 19:54, , 7F
先查欄位資料,常遇到的筆數不符,都是資料內容和想像不同
08/24 19:54, 7F

08/24 19:55, , 8F
ex. where column1='A',結果column1的資料有'A','A ',' A'
08/24 19:55, 8F

08/24 22:04, , 9F
延伸詢問 有無HQL的教學資源呢?
08/24 22:04, 9F

08/24 22:05, , 10F
最近被要求要在hibernate下做事 好難懂
08/24 22:05, 10F

08/25 00:09, , 11F
hibernate 文件那麼詳細,不然就買書絕對更加詳細。
08/25 00:09, 11F

08/25 00:52, , 12F
先把sql練好再說 , hql不難.只是把sql用method api的型
08/25 00:52, 12F

08/25 00:52, , 13F
式表達,,所以你sql不會,你一定也不會hql
08/25 00:52, 13F

08/25 00:55, , 14F
真正要查多又複雜的資料還是要會sql,hql拿來crud還算方
08/25 00:55, 14F

08/25 00:55, , 15F
方便, 不會hql不會怎樣,不會sql,幾乎很難寫application
08/25 00:55, 15F

08/25 05:26, , 16F
我覺得就是多練習多查而已,沒有捷徑
08/25 05:26, 16F

08/25 08:10, , 17F
個人習慣在撈資料都會把各欄位給rtrim或ltrim掉
08/25 08:10, 17F

08/25 11:22, , 18F
回文的大大,都很有實務經驗
08/25 11:22, 18F
各位的建議我會記住的@@ 我知道資料表內所有的資料格的名稱欄位格式都了解 單純的JOIN A跟B的查詢我都很OK 不過目前開始要寫INNER(LEFT) JOIN A B C D E 常常會寫完後 發現篩選的資料筆數不對(因為原本是用人工EXCEL作業.經比對後才知道) 資料庫裡的資料確定都對 就是篩出來很怪-.- 最近上班 整天就是在寫SQL...碰到這種盲點還真讓我頭疼 所以想問大家有沒有好書推薦 或是各位有比較有效率的整理SQL資料的方法... ※ 編輯: et54987 來自: 61.230.137.37 (08/25 12:38)

08/25 15:07, , 19F
我也是原先以為都是碰應用程式 結果近來都在寫SQL orz
08/25 15:07, 19F

08/25 16:05, , 20F
可以先試著分段寫sql query,然後慢慢找出關聯性用subque
08/25 16:05, 20F

08/25 16:06, , 21F
用subquery or join把小query結合成大query,
08/25 16:06, 21F

08/25 16:08, , 22F
基本上sql是程式的肉, 除非只是單純寫演算法的api,那就
08/25 16:08, 22F

08/25 16:09, , 23F
那就另當別論,因為sql代表著business,甚至比程式還重要
08/25 16:09, 23F

08/25 17:26, , 24F
只能說~不管是寫哪種程式~都脫離不太了sql~因為都是databas
08/25 17:26, 24F

08/26 20:44, , 25F
請問你是用哪一家的SQL?有個M頭的你給他一個join會傻一下
08/26 20:44, 25F

08/26 20:46, , 26F
,未斷行的兩個join你會傻。都做三五個自家用的table,
08/26 20:46, 26F

08/26 20:48, , 27F
把他們和主人家用的關係打好。會輕鬆得像古狗。
08/26 20:48, 27F

08/26 20:53, , 28F
有誰可以翻譯一下樓上的在說啥??
08/26 20:53, 28F

08/27 19:50, , 29F
j大,只說SQL是一種標準嘛,設計可以給他用的Server或area,
08/27 19:50, 29F

08/27 19:52, , 30F
是某些公司或團體做的。未必都很好;SQL講的話都會執行,
08/27 19:52, 30F

08/27 19:55, , 31F
但是善意的隱藏自己的缺點。。有了問題查詢不方便,
08/27 19:55, 31F

08/27 20:00, , 32F
是可以在正常使用的table以外偷掛幾個table來裝一般常用
08/27 20:00, 32F

08/27 20:04, , 33F
的查詢;剩下的只是有沒有動用那Server的權力和能力。
08/27 20:04, 33F

08/27 20:11, , 34F
反正佔據不多磁碟機,使用者不覺得變慢。就算暫時的也行.
08/27 20:11, 34F

08/27 20:25, , 35F
有誰可以翻譯一下樓上的在說啥??
08/27 20:25, 35F

08/27 21:44, , 36F
j大 a大在逼我呃!語文不好再說一次:前手做的relationship
08/27 21:44, 36F

08/27 21:47, , 37F
不夠好,能用;但是關係不夠嚴謹所以不容易正確找到東西,
08/27 21:47, 37F

08/27 21:50, , 38F
我不能把航行中的船從中斷開加補column但是可以為了某些
08/27 21:50, 38F

08/27 21:53, , 39F
目的副掛小船;前提是了解了系統現在的各種關係,作出表格,
08/27 21:53, 39F

08/27 21:56, , 40F
查驗有無缺漏的關係(通常很多),而又取得新增table和改寫
08/27 21:56, 40F

08/27 22:00, , 41F
程式的權力;把我算計過的必要檔和欄副掛到程式中.在
08/27 22:00, 41F

08/27 22:02, , 42F
影響到原來的處理程序之下,填入所開的table,把整個系統的
08/27 22:02, 42F

08/27 22:03, , 43F
資料正常化(沒有最好的)一點.那麼要我查詢有的沒有的;
08/27 22:03, 43F

08/27 22:06, , 44F
就可以從那些副掛的內容找到,並且從'正式的'table帶出來.
08/27 22:06, 44F

08/27 22:09, , 45F
另外;不同牌子的SQL差異很大。
08/27 22:09, 45F

08/28 02:46, , 46F
先搞清楚各種JOIN出來的結果 差別在哪裡吧!
08/28 02:46, 46F
文章代碼(AID): #1I671m2I (Soft_Job)