本文主要介紹案例語句sql(sql中的案例),下面一起看看案例語句sql(sql中的案例)相關資訊。
sql中有兩種形式的用例:簡單用例函數(shù)和用例搜索函數(shù)。復制代碼代碼如下:簡單的函數(shù)案例當 1 然后 男性 何時 2 然后 女性 另一端——案件搜索功能時,性別= 1 然后 男性 當性= 2 然后 女性 另外,這兩種方法可以實現(xiàn)相同的功能,簡單案例功能更簡單,但與案例搜索功能相比。另一個需要注意的問題是,case函數(shù)只返回第一個條件值,其余的會被自動忽略。例如,在下面的sql部分中,第二種類型的復制代碼是這樣的:當col_1在(a,b)中時,然后是第一種類型,當col_1在(a)中時,然后是第二種類型else 其他端。讓 讓我們看看如何使用case函數(shù)。首先,將已知數(shù)據(jù)以另一種分組并進行分析。有以下數(shù)據(jù):(為了看得更清楚,我沒有 不使用國家代碼,而是使用國家名稱作為主鍵)。國家(國家)人口(人口)600美國100加拿大100英國200法國300日本250德國200墨西哥50印度250按國家 美國的人口數(shù)據(jù),計算出亞洲和北美的人口。大陸人口亞洲1100北美250其他700你將如何解決這個問題用大陸代碼創(chuàng)建視圖是一個解決方案,但是很難動態(tài)改變統(tǒng)計方法。如果使用case函數(shù),sql代碼如下:復制代碼如下:select and (population),case所在國家為 然后 亞洲及太平洋。;印度,然后是亞洲,日本,然后是亞洲,然后是美國,然后是北美,然后是加拿大,然后是北美,然后是墨西哥。然后,北美的另一端將會是 然后 亞洲及太平洋。;像印度,然后亞洲,日本,然后亞洲像我們,然后北美,然后加拿大,然后北美,然后墨西哥,然后北美的另一端。同樣,我們也可以用這種方法來確定工資級別,計算每個級別的人數(shù)。復制代碼代碼如下:當 1 工資選500當工資500工資600工資800工資500工資600工資800工資1000)女員工的條件和男員工一樣。第四,根據(jù)條件選擇更新。比如以下更新條件的員工工資高于工資,降薪5%。工資在員工中,工資增長了10% .您可以很容易地考慮選擇執(zhí)行兩條update語句,如下所示。復制代碼代碼如下:-條件更新人才集薪資=薪資* 0.9薪資范圍5000;-有條件續(xù)約人才集薪資=薪資* 1.15薪資加薪資 amplt;4600 ampgt;2000;但這并不像想象的那么容易,有一個人 的薪水。一是根據(jù)條件降低工資,成為他們的工資。接下來運行第二條sql的時間因為人的工資范圍內(nèi)的限制而增加,最后人的工資不減反增。如果反過來,那么工資就會降低工資。不管規(guī)則有多荒謬,如果想要一條sql語句實現(xiàn)這個功能,我們需要使用如下的函數(shù)代碼:復制代碼代碼如下:設置人才時更新薪資= salary = 5000,那么salary和salary amplt;4600 = 2000,那么薪資* 1.15其他薪資目標;需要注意的是,最后一行的其他工資是必須的。如果沒有這條線,不符合這兩個條件的人工資就寫成null,這就是大事。這種方法也可以用在很多場合,比如關鍵工作的變動。一般來說,a、b這兩個數(shù)據(jù)的主鍵交換,需要經(jīng)過數(shù)據(jù)的暫存、復制、讀取三個過程,比如函數(shù)的使用,一切就變得容易了。p_key col_1 col_2 1塊3-b2lisi,sic,3國王武假設上面有數(shù)據(jù),需要交換主密鑰a和b,實現(xiàn)case函數(shù)時,代碼如下。復制代碼如下:當集合p_key =更新時,p _ key = a then 當p_key = b時,則 a其他p_keys以p_key結尾在(a,b);同樣也可以換成兩個唯一的密鑰。需要注意的是,如果需要交換主鍵,表的設計通常是不夠的。提案清單的設計是恰當?shù)?。五、兩表?shù)據(jù)的一致性檢查。這樣的函數(shù)是不同的解碼函數(shù)。在case函數(shù)中,可以使用between,比如empty,existing等等。比如在使用中,存在,可以執(zhí)行子查詢實現(xiàn)更多功能。作為下一個掩碼的示例,有兩個表tbl_a、tbl_b和兩個keycol列。現(xiàn)在讓我們 讓我們比較一下這兩張表。如果tbl_a keycol列中的數(shù)據(jù)可以在tbl_b keycol列中找到,那么結果 匹配 被退回。如果沒有找到,它返回結果 無可匹敵。要實現(xiàn)以下功能,可以使用以下兩條語句復制代碼如下:-使用時選擇關鍵字,關鍵字在時從tbl_b中選擇關鍵字(從tbl _ b中選擇關鍵字)然后 匹配的else 無與倫比 來自tbl的結束標簽;-使用時選擇關鍵字,tbl _ a.keyword = tbl _ bkeyword)中有(select * from tbl_b)時。然后 匹配的else 無與倫比 來自tbl的結束標簽;使用和存在的結果是一樣的。也可以用不存在和不存在,但是這次一定要注意null。六、在用例函數(shù)中使用聚合函數(shù)。假設有一個表,表中有std_id,課程id(class_id),課程名稱(class_name),劍(main_class_) 1001經(jīng)濟學y 1002歷史學n 2002歷史學n 2003考古學y 2004計算機3004計算機4005化學n 5006數(shù)學n有些同學選擇在同一個地方學習。時間上有幾門課(100,200),有的同學只選一門課(300,400,500)。選多門課的同學要選一門課作為自己的專業(yè),主標志寫y,只有一門課是國旗n(其實你寫y就不會有麻煩了。)。例如,請包含更多)。現(xiàn)在我們必須根據(jù)以下兩個條件查詢只上了一門課并返回了課程id的人。選擇幾個主題并返回所選的主課程id。簡單的想法是執(zhí)行兩個不同的sql語句進行查詢。條件復制代碼如下:-條件:只選擇一門課的學生選擇std_id,max(class_id)作為main_class,有從studentclass組到std_id (*) = 1的計數(shù);結果執(zhí)行std_id main _ class-三千四千四千五千六條件復制的代碼如下:-條件:選擇多門課的學生選擇std _ id,class_id從main _ class _ flg中的studentclass取為主課= y;結果執(zhí)行std_id main _ class-101203如果我們使用case函數(shù),只需要一條sql語句就可以解決這個問題,如下圖。復制如下所示的代碼:select std _ id,當count (*) = 1時,——的學生只選擇一門課程,max (class_id) other max(萬一,main_class_ = y)然后class_id other空end),最后main_class。通過std_id從studentclass組獲取s;;運行結果std _ id main _ class-1012033044055006通過在case函數(shù)中嵌套case函數(shù),在聚合函數(shù)中使用case函數(shù),我們可以輕松解決這個問題,使用case函數(shù)給我們更多的自由。最后提醒一下case函數(shù)新手不要犯以下錯誤。復制代碼代碼如下:case col _ 1 when 1 then 右當0然后 錯止于此語句,此時零線總是回歸未知,所以永遠不會有錯。因為這句話可以用在col_1 = null,這是一個錯誤的用法,此時我們應該選擇使用col_1為空。
了解更多案例語句sql(sql中的案例)相關內(nèi)容請關注本站點。