sql
4.1 查有成績的學生資訊
這個問題就有意思了,感覺是和前面的「查詢sc表中存在成績的學生資訊」重複了。但是查了資料是有區別的,依然不是很明白。
7.查詢沒有學全所有課程的同學的資訊
這個問題講資料庫的時候有一道類似的題目:「查詢選修了所有課程的學生資訊」,書上用的是exists語句,但是我不太理解。這道題我覺得也可以拆分表,拆成三個表,然後進行連線,就可以先得到學全所有課程的同學,再求不在這個集合中的學生即可。
但是我的這個解法有弊端,一旦課程數量多起來,那需要連線的表也就特別多,所以還是需要乙個更加精簡的演算法。
9.查詢和" 01 "號的同學學習的課程 完全相同的其他同學的資訊
此題乍一看跟上一題差不多,但其實條件已經由存在變成了完全包含。也就是我們不僅要與01同學有交集,而且要與他完全一致。
試過之後發現只能查出與他所學課程有交集的學生,但無法查詢與他完全一致的學生資訊。
15.按各科成績進行排序,並顯示排名, score 重複時保留名次空缺
這裡不懂顯示排名要怎麼操作。查閱資料顯示,排名可以由聚合函式count()來完成。
根據查到的資料顯示,這裡要用到自連線,然後具體**如下:
select a.cid,a.sid,a.score,count(b.score)+1 as rank
from sc as a
left join sc as b
on a.score
group by a.cid,a.sid,a.score
order by a.cid,rank asc;
但是我不明白為什麼條件是on a.score
再乙個就是個人感覺group by子句中的a.score沒有必要
還有就是我嘗試將group by a.cid,a.sid,a.score order by a.cid,rank asc;這兩行**遮蔽掉,結果如下圖
感覺對這個結果不太理解
所以我又將group by子句執行,發現結果已經變得很清晰了,如下圖
在group by 子句執行後就能明顯的發現已經離最終結果不遠了,但我還是不明白為什麼group by 前後的結果差異這麼大
15.1 按各科成績進行排序,並顯示排名, score 重複時合併名次
16.查詢學生的總成績,並進行排名,總分重複時保留名次空缺
16.1 查詢學生的總成績,並進行排名,總分重複時不保留名次空缺
同上,查了資料,但是依然不懂。。。
18.查詢各科成績前三名的記錄
這個問題本來打算用top,但是一直報錯,後來才知道top是sql sever裡的用法,mysql裡面要用limit語句,但是這過程中還是有一些問題。
這個語句查不出結果,我猜是因為沒有對查詢進行分組,所以加了group by 子句,但是老是報錯,加在**都不對。下圖是其中一種情況:
連線不成功,css中做改變html無變化
python第一周心得 Python第一周總結
變數 不能為系統自帶的內建函式,如def,help,sum等等 變數不能已下劃線數字來開頭,對大小寫敏感 變數後直接接數字,則被賦值為整型,如何加引號則賦值型別為字串str型別 a 1 整型 int b 2 字串 str 用print 直接輸出 a hello print a 在 使用者想要同時輸出...
第一周學習中遇到的困難
這週的sql學習中,我最困難的就是oracle的重灌了吧。之前的oracle 在學長的幫助下安裝好的,在這次遇到問題後才發現,有的根本不是簡單的刪除文字和配置就能解除安裝的。從服務到登錄檔到圖示以及檔案的刪除,一系列下來都需要極大的耐心和細心。在建立 中,關於datetime以及date的使用環境和...
第一周周記
下面是整個文章的第二部分,日常的安利 這周的話,除了整體恢復正常,週末我也購置了我的第一塊外接鍵盤,這裡的話我選擇的是國產的靜電容鍵盤niz的plum 87鍵鍵盤。今天拿到這個鍵盤第一天,整體使用了一下,尺寸配合著15寸的蘋果macbook pro可以說恰到好處,除此以外,整個鍵盤還是給我不少驚喜的...