常常用Except來比對資料差異性,但一直不知道Except有個雷。那就是會distinct回傳的資料列,日前看見楊志強老師分享文才知道,汗顏......
Except只會回傳經過distinct的資料列
- 589
- 0
- [SQL]TSQL語法技巧
常常用Except來比對資料差異性,但一直不知道Except有個雷。那就是會distinct回傳的資料列,日前看見楊志強老師分享文才知道,汗顏......
日前有一個系統功能是要大量更新資料表的資料,我詢問一下PG預計如何撰寫該功能。PG回覆我說就是用迴圈更新前端餵近來的資料,我聽到當下覺得這樣的做法效能不僅差,且會對SQL造成一定程度的效能影響。
當資料表資料發生Blocking時,我們第一時間往往就是檢查是哪一個Session鎖住資料
導致發生Blocking,但該如何查詢是哪一筆資料被鎖住呢 ?
今日同事忽然跑來問我,說資料庫發生一個很奇怪的事。
日前上揚志強老師的線上課程時看見楊老師的TSQL中有一句我沒用過的寫法,當下引起了我的興趣而測試了一下。發現該語法只有SQL2016才支援,所以算是新語法,在此分享給大家。
今天在SQL PASS的FB上有一位朋友詢問一個問題
如何讓SQL根據Column中儲存的算式,在Select中算出每一筆Row的答案
今天同仁問我一個TSQL問題,語法如下
Select * From Tb1 a
Left Join Tb2 b On a.id=b.id
Where b.name='Rock'
SQL 2016 有一個不錯用的DMF叫sys.dm_exec_input_buffer,介紹給大家。
我們可以利用sys.dm_db_index_usage_stats這一個DMV來知道索引的使用狀況,例如哪一個索引被seek幾次scan幾次。但有時我會想要知道到底是哪一些語法使用到這一個索引。
這一篇純粹是回答PTT鄉民的問題
有時我們會遇見有人在資料表設計中用單一欄位存放多重階層
例如 : A-1 A-2-1 A-11這樣存放
但用字串存放含數字的階層,在Order By該欄位時就會有問題了
如上面3筆資料我們希望是A-1,A-2,A-11排序。但是SQL在Order By該欄位後會跑出A-1,A-11,A-2這樣的結果
日前用Merge語法同步當年度資料進歷史資料表,結果誤刪了所有歷史資料只剩當年度資料。雖然有Code Review但還是發生這樣的悲劇。
相信很多時候大家會用字串組成動態的SQL語法然後再用Execute來塞入到資料表中
,或是將一些SP回傳資料寫入到資料表後再作運用。但這樣的作法會耗費較多資源歐
Merge語法搭配Except來同步資料表
如何表列出預存程序(Stored Procesure)中用到了哪一些資料表呢?
利用Select Into複製資料表時,透過Isnull函數將欄位變更為不允許Null
撰寫TSQL來動態產生PIVOT語法,讓報表產出更有彈性
Schema異動,將資料表欄位型態由 text 變更至 ntext