正在準備內容……

SQL 測驗

視窗與約束

複習ROW_NUMBER、排名並列、累計總額、篩選CTE及兩種明確的INSERT約束失敗。

預測前明確排序、框架與實際約束。

本節數六道給定SQLite 3.53.4任務的匹配結果,不是專業等級、百分位、僱主門檻或資格。任何正確數都能讀全部解析與四份完整指南。

四組結果集與兩條被拒語句

前四題算視窗序號、一對名次、累計和或命名篩選輸入的數量,資料排序均完整給出。末兩題問INSERT對UNIQUE或NOT NULL宣告的結果,是語句結果,不是多出的SELECT行。先辨問題種類,再讀數字選項,不把拒寫當正常結果集。

本SQLite例中UNIQUE不等於NOT NULL

新不計分SQLite例建codes(code TEXT UNIQUE),兩次插NULL再COUNT(*)。均成功,數2;SQLite對該UNIQUE把兩個NULL視為不同。加NOT NULL會改宣告與結果。它有意對比重複非NULL唯一值與缺失值,不聲稱所有引擎或約束形式一致。

分開視窗排序與最終行序

ROW_NUMBER按視窗ORDER BY分連續位置,本題用id明確打破並列;最終ORDER BY另控返回行序。另一題RANK與DENSE_RANK只按分數,有意保留同組,前者並列後留間隔,後者不留。不能暗給該視窗加破並列項,否則同組改變。

讀清框架與篩選階段

累計題明確按唯一id使用從開頭到當前行的ROWS框架,不依賴未說的預設值。排名CTE先給全體排名,再由外部id篩一行;另一個篩選CTE則先選合格行再外數。跟隨實際子句,不認為所有WHERE都處於同一階段。

採用列上準確宣告的限制

重複普通字串違反題給UNIQUE,資料庫NULL違反另一NOT NULL。兩條最後INSERT都未要求OR REPLACE、OR IGNORE或其他衝突策略,不可暗換。語句失敗不證明應用事務正確,題目也不要求推斷所有前序語句回滾狀態或併發會話可見性。

預測一次並列或一項宣告變化

在可丟棄記憶體庫自擬三個含並列值,先分別寫視窗位置與最終顯示順序再執行;另用小表比較UNIQUE與額外不許NULL的宣告。每次只改宣告條件或一個值,不需生產資料或憑據;網站不執行訪問者SQL或修改所連資料庫。

練習不附資料庫資格

本節統計按SQLite 3.53.4核過的固定原創題組六個匹配結果,不建立併發、模式設計、查詢調優或生產事故專業能力。零分、部分答對、全對都免費給題解全文,無專業檔、招聘線或廠商資格;讀答案後宜換輸入,不把重測提高當遷移證明。

回顧:顯示順序改變不等於重算視窗序號

新例marks(id INTEGER PRIMARY KEY,score INTEGER)含(10,7)、(20,9)、(30,9)。SELECT id,ROW_NUMBER() OVER(ORDER BY score DESC,id) AS n FROM marks ORDER BY id;返回10|3; 20|1; 30|2。視窗按分數降序再按id排,先給20序號1、30序號2、10序號3。只將最終排序改成ORDER BY id DESC,顯示為30|2; 20|1; 10|3,各行原序號保持。這裡id打破並列;不把這個ROW_NUMBER結果當RANK的並列規則。兩條已在SQLite 3.53.4記憶體庫核過,不計分。

先說明查詢要回答什麼,再一起核結果

可以問:“為什麼最終第一行顯示的序號可以是3?改變外層排序後,哪一套順序變了,視窗定義有沒有改變?”先各自畫小表與中間結果,再比較第一個分歧。可只讀、不執行、查SQLite文件或換資料,無需連線真實資料庫、披露報表或參加速度排名;討論明確的資料和條件,允許指出題外問題尚未被評估。

分享按鈕只複製公開練習入口,不帶個人答案或正確數;也可自行傳送這份公開指南。四組是複習主題,不是資料庫專業等級、招聘通過線或廠商認證。實際執行支援給定SQLite版本下這些語句的結果,不證明所有SQL方言相同、真實報表正確或題組心理測量質量。

開始免費練習

分項複習指南

  • 篩選與NULL

    複習數值和區域篩選、IS NULL、NULL等號比較、包含兩端的BETWEEN及COALESCE後備值。

  • 聯接與匹配

    複習內外聯接、ON與WHERE、補NULL行、卡id計數及相關NOT EXISTS。

  • 分組與聚合

    複習行數與值計數、分組求和、HAVING、篩選後總額、去重計數及外層最大值。

統計匹配結果,不派開發者檔位

匹配答案計一道正確,其他有效選擇計零;每組六題,合計/24。全部有效選擇前不顯示個人正確數,無時間權重、部分分或默補缺答。4/6只是所給任務四個匹配結果,無百分位、招聘通過分或資格。

保留完整設定與逐題解釋

結果保留每段原創設定、最後語句、所選、答案及解析,零分、部分答對、全對均給四份全文。行列分隔只是顯示約定,不是額外返回值。核錯題要追蹤實際輸入及子句;公開指南給完整複習內容,不給個人成績。

宣告SQLite環境與有限輸入

每題用獨立全新SQLite 3.53.4記憶體庫和虛構輸入核驗,不是生產資料庫。方言、設定、約束、併發行為可不同,題組不建立跨引擎相同行為,也不評查詢調優、管理或真實報表。無計時,約十二分鐘是編輯估計,重測重複固定題組。

原創資料、查詢與解析

費馬編寫表資料、問題、干擾項、解析及指南,連結文件支援選定規則,不搬其例子或專有招聘題。本獨立練習無廠商背書或認證。程式碼按轉義文本顯示,選擇在本地核對,不執行訪問者查詢或發給所連資料庫。