分享下你寫過的你覺得最厲害的sql語句?
講清楚邏輯,不必實際代碼也行!大家一起交流交流
SQL語法簡單,通常不會有讓人覺得很厲害的語句,而且厲害的語句通常無法保證性能。主要是熟悉各種元數據視圖可以用SQL寫SQL,很大提高工作效率,比如很多插件支持自動生成增刪改查的存儲過程,其實自己也可以用SQL寫,更易於滿足自己的需求和規範。
真要找條覺得有點厲害的SQL的話,曾經為一個需求寫了一條包含兩個嵌套的NOT EXISTS並且三層之間都有有關聯條件的SQL,當時沒覺得什麼,後來自己review代碼時捋了老半天才確定一定以及肯定這麼寫是對的,哈哈哈哈哈。可以找輪子哥,我記得他說過,抽屜里有塊硬碟,裡面有幾百兆大的一條sql
1 開發方面:主要是運用了幾個窗口聚合函數,算得當月累計,當年累計及各自佔比,加上父子遞歸的演算法,得出各大區銷售餅圖數據。都離不開 Ben 的那本 T-SQL Querying
2 管理實例方面:查查哪些 session 被阻塞了,以及為什麼被阻塞。事務在等待什麼。離不開調用那些動態管理試圖。
3 擴展:
3.1 .Net 寫一個函數支持下正則查詢
3.2 Extended Events 做 SQL 審計和追蹤 3.2 Replication 和 Sharding 的輔助腳本好像算不上特別的,都是常用腳本而已,並沒有用 SQL 來算漢諾塔或者八皇后問題sql寫得越長越垃圾,
我覺得最厲害的sql是寫存儲過程,然後各種視圖,子查詢,表值函數,臨時表,流程邏輯清清楚楚,化繁為簡,
經常有人本來用with建立個臨時視圖讓人好理解就行了,非要寫子查詢,寫一堆,越寫越長,
sql又不像c,java可以格式化代碼,
本來不算難的邏輯,就是幾個視圖的事兒,搞得亂七八糟,然後寫完了執行看結果對了就不管了,
過個一年半載,需求改了,來看這個玩意,寫的人自己都看不懂了。
做數據工作,見過一些算是比較吊的sql.它們的共同點是……都不是我寫的
剛畢業時,在第一家公司,寫過一個1萬2千多行的存儲過程,資料庫是postgresql,一行不得超過80個字元。
天天加班寫了半個月,沒人幫忙,沒人願意看這樣的sql。
因為是外包,客戶規定要寫在一個存儲過程裡頭,所以那麼長,打破了公司最長記錄。
謝邀。額。。。為什麼會被邀請回答這個問題(O_O)?我是英語廢→_→
update users set password=""
不小心執行了
我覺得……Excel VBA可以直接用SQL查工作表,實在是厲害的不行
推薦閱讀:
※請教一下大家,關於 MySQL 百萬數據量的 count(*) 查詢如何優化?
※sql 查詢如何將結果集 輸出為一段字元串?
※沒有任何基礎的人怎麼學SQL?
※PostgreSQL 有哪些經典入門書籍?
※如何評價cmu-db的peloton資料庫?