一道SQL題引起的思考(where中的值集合)

2021-07-10 03:31:16 字數 419 閱讀 2152



今天覆習了資料庫中的簡單sql語句,聚合函式分組,在「求每個系中年齡最大的學生的資訊」,開始想的是子查詢,先查出每個系中的最大年齡,再將年齡作為條件查詢,開始的思路大體上是沒問題的,但存在乙個失誤,例如中文的最大年齡為22,英文系的最大年齡為23但英文系中存在22歲的學生,這樣就會造成查詢了英文系兩名學生的成績,原因是條件中用的in定義集合,他只會去匹配年齡而不管他是那個系的,解決這個問題,首先得想辦法讓系別與年齡對應起來,例如「中文系是22歲」,因此在where處應該是

(系別,年齡)=(select 系別,min(出生日期)  from 表 group by 系別),

這樣就將系別與年齡聯絡起來了。

做完這個題自己也在反思,為什麼自己會侷限在單一的條件值上,也想不出方法來改變這些固定思維,實在是令自己很惱火,多希望有大神來指導指導我這個小菜鳥啊!!

一道面試題引起的思考

今天在認真幹 劃 活 水 的時候,看到群裡有人發了一道頭條的面試題,就順便看了一下,發現挺有意思的,就決定分享給大家,並且給出我的解決方案和思考過程。題目如下 實現乙個get函式,使得下面的呼叫可以輸出正確的結果 const obj target 1,2,get obj,selector.to.to...

一道演算法題,引發的思考

引言 有人問我這樣乙個問題,希望寫出 實現 有p0,p1兩點座標,組成乙個線段,求此線段與x點的的距離 我並不知道,如何完全的實現此功能,因為求點與線的公式,我記得是高中知識,但是我已經忘得差不多了,只是知道勾股定理算兩點間距離,直線方程有個斜率,如果給我時間去細想的話,應該可以理出頭緒,得到個寫此...

一道CTF題 sql爆破

題目 開啟網頁 說明存在sql注入。嘗試了一些常見的繞過操作都不行,過濾了注釋 空格,and,select等。嘗試用 11 繞過 頁面正常 頁面正常 頁面正常 報錯 以上測試說明表有四列。測試回顯 union也可以大寫 返回3,說明在第3個位置可控。爆資料庫 得到資料庫test。爆表名 出現表名 c...