技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2023 iThome 鐵人賽
DAY
28
0
自我挑戰組
C# 和 SQL 探索之路 - 2
系列 第
28
篇
Day28: 怎麼閱讀複雜的 SQL
15th鐵人賽
Lazy
2023-10-12 21:56:09
338 瀏覽
分享至
嗨嗨,以下兩篇文章中,有一些是我閱讀複雜 SQL 時,覺得實用的方法。將其記錄下來。
database - Best way to understand complex SQL statements? - Stack Overflow
如果是 UPDATE 或 DELETE 的話,先改寫成 SELECT,以方便觀察結果。
去瞭解 JOIN 另一張資料表的目的,為了取得欄位資料?使用欄位作為條件?用來連接第三張表格?用連接用來過濾資料?此外也可以試試看不同的連接方式,看看會有什麼不同。
逐步檢查查詢的各個語法, WHERE 條件會如何篩選資料?CASE 描述了哪些狀況?為什麼需要子查詢?...
瞭解查詢背後的商業邏輯,以檢查這個查詢的結果是否正確。
How to Understand Long and Complex SQL Queries - by Naser Tamimi - CodeX - Medium
先大略的看過一遍,然後從最後方的欄位,慢慢往回推導。
檢查最後方的 WHERE, GROUP BY 和 JOIN,然後往回推導先前的查詢語法。
不斷重複檢查 WHERE, GROUP BY, JOIN 和子查詢,直到推導至開頭為止。
補充
挑選自己喜歡或覺得適合的策略即可。
另外,如果可以只執行到查詢的中間,可以試試看觀察中途的查詢結果。
留言
追蹤
檢舉
上一篇
Day 27: SQL 執行計畫如何產生
下一篇
Day 29: SQL 關於非叢集索引與索引模式
系列文
C# 和 SQL 探索之路 - 2
共
30
篇
目錄
RSS系列文
訂閱系列文
1
人訂閱
26
Day 26: SQL SARGAble
27
Day 27: SQL 執行計畫如何產生
28
Day28: 怎麼閱讀複雜的 SQL
29
Day 29: SQL 關於非叢集索引與索引模式
30
Day 30: 資料表的正規化與設計的摘要 & 後記
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22197
篇
完賽人數
602
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
如何讓在中國的同事可以穩定的使用台灣總部的系統服務
Web Application 與Web Service 的差異
熟識南投軟體工程師推薦
AB兩點網路使用LTE數據機做連接
如何練國考資訊題?
求救,erp 無法使用,ping封包 100% 丟失
Active Directory 環境中時間無法同步問題
如何以php抓取html文件的特定元素,並且依照抓取順序填入頁碼
fortigate 60E 配IP給無限AP問題
電腦版Outlook 封存郵件無法包含有作標幟的郵件
熱門回答
如何讓在中國的同事可以穩定的使用台灣總部的系統服務
求救,erp 無法使用,ping封包 100% 丟失
AB兩點網路使用LTE數據機做連接
電商在販售商品時,可以自行縮短保固期限嗎?
如何以php抓取html文件的特定元素,並且依照抓取順序填入頁碼
熱門文章
大總結 - Win11 是對企業和私人的大改版
卷 31:iThome 鐵人賽寫作攻略——新手必看指南
每日一篇學習筆記 直到我做完專題 :( [Day1]
每日一篇學習筆記 直到我做完專題 :( [Day2]
Python 字串string 方法,zfill() & f"{i:0xd}" &浮點數格式化
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}