總結(jié):SQL練習(xí)【SQL經(jīng)典練習(xí)題】

好像今天圣誕節(jié)

剛刷完SQL練習(xí)【SQL經(jīng)典練習(xí)題】,本篇文章將對我不牢固的知識做簡單匯總。
沒對比就沒標準,當練習(xí)超經(jīng)典SQL練習(xí)題,做完這些你的SQL就過關(guān)了時才知道自己以前練習(xí)的SQL是最基礎(chǔ)的內(nèi)容。至于文章內(nèi)容這里不做描述,感興趣可以自己練習(xí)。

#20.查詢scores中選學(xué)一門以上課程的同學(xué)中分數(shù)為非最高分成績的記錄。##
select * from scores group by sno
having count(cno) >1
and
degree != max(degree) ;

#21.查詢成績高于學(xué)號為“109”、課程號為“3-105”的成績的所有記錄。
select * from scores 
group by cno 
having cno = 3105 and degree >
(select degree from scores where sno = 109 and cno = 3105);
#22.查詢和學(xué)號為108的同學(xué)同年出生的所有學(xué)生的Sno、Sname和Sbirthday列。
select sno,sname,sbirthday from students
where sbirthday = 
(select sbirthday from students where sno = 108);

#24.查詢選修某課程的同學(xué)人數(shù)多于5人的教師姓名。為什么是模棱兩可的?為什么分組直接用cno不行,需要用a.cno或者b.cn
select * from
(select * from coursers) a
inner join
(select * from scores) b
on a.cno = b.cno 
inner join
(select * from teachers) c
on a.tno = c.tno
group by a.cno
having count(sno) > 5;

24給我的教訓(xùn)在表連接的時候在做條件選擇和查詢的時候指定列名出自哪張表

#26.查詢存在有85分以上成績的課程Cno.

我的代碼:
select cno,degree from scores
group by cno
having max(degree) > 85;

題主代碼:
SELECT distinct Cno
FROM Scores
WHERE Degree>85;

26絕對是自己的邏輯問題,為什么要按課程分組直接篩選大于85分成績的同學(xué)的課程號就可以啦。看見distinct可能是天真的我想用group by 選擇有幾個cno
邏輯問題!

#28.查詢“計算機系”與“電子工程系“不同職稱的教師的Tname和Prof。  
(我沒有理解到題意……笨死……)
select tname,prof from teachers
where depart = '計算機系' and prof not in
(select distinct prof from teachers where depart = '電子工程系');

#29.查詢選修編號為“3-105“課程且成績至少高于任意選修編號為“3-245”的同學(xué)的成績的Cno、Sno和Degree,并按Degree從高到低次序排序。
我的代碼:
select cno,sno,degree from scores
where cno = 3105 and degree >
(select min(degree) from scores where cno = 3245)
order by degree desc;

題主代碼:
SELECT Cno,Sno,Degree
FROM Scores
WHERE Cno='3-105' AND Degree > ANY(SELECT Degree 
FROM Scores
WHERE Cno='3-245')
ORDER BY Degree DESC;

29任意不能用最小值嗎不能用min嗎?第一次見any,方法自己還是會的,可能有些函數(shù)用的少

#31.查詢所有教師和同學(xué)的name、sex和birthday.
我的代碼:(感覺好可愛的自己)
select tname,tsex,tbirthday,sname,ssex,sbirthday from
(select * from teachers) a
inner join
(select * from coursers) b
on a.tno = b.tno
inner join
(select * from scores) c
on c.cno = b.cno
inner join 
(select * from students) d
on d.sno = c.sno;

題主代碼:
select sname,ssex,sbirthday from students
union
select tname,tsex,tbirthday from teachers;

#32.查詢所有“女”教師和“女”同學(xué)的name、sex和birthday.
select sname,ssex,sbirthday from students where ssex = '女'
union
select tname,tsex,tbirthday from teachers where tsex = '女';

31原諒我已經(jīng)把union已經(jīng)忘了,現(xiàn)在還不是很會用……

#33.查詢成績比該課程平均成績低的同學(xué)的成績表。???不明白不懂

題主代碼:
SELECT s1.*
FROM Scores AS s1 INNER JOIN (
    SELECT Cno,AVG(Degree) AS aDegree
    FROM Scores
    GROUP BY Cno) s2
ON(s1.Cno=s2.Cno AND s1.Degree<s2.aDegree); 

33下來在看一下吧,明天上班路上復(fù)習(xí)。第一次見on可以連接多個條件,并且不是等號是小于符號

#34.查詢所有任課教師的Tname和Depart.?????
題主代碼:
select * from coursers;
SELECT Tname,Depart
FROM Teachers
WHERE Tno IN(
    SELECT Tno
    FROM Coursers);

#35.查詢所有未講課的教師的Tname和Depart. 
SELECT Tname,Depart
FROM Teachers
WHERE Tno NOT IN(SELECT Tno FROM Coursers);

34絕對是沒明白意思,任課老師,老師還有不上課的嗎?這里居然是讓我篩選哪些老師上課(PS:表中有些老師不上課……)

吐槽……簡直顛覆本寶寶的常識,有不上課的老師嗎?

#36.查詢至少有2名男生的班號。
我的代碼:
SELECT Class,COUNT(1) AS boyCount
FROM Students
WHERE Ssex='男'
GROUP BY Class
HAVING boyCount>=2;

題主代碼:
select class,ssex,count(1) as boycount from students where
ssex = '男' group by class
having count(ssex) >= 2;

36count的位置不同吧,第一次見count(1),居然不對字段進行操作的,是否有count(2),下來去操作下

#38.查詢Student表中每個學(xué)生的姓名和年齡。
我的代碼:
select curtime();  #現(xiàn)在的時間
select curdate();  #現(xiàn)在的日期

select sname,year(now()) - year(Sbirthday) as sage 
from students;

題主代碼:
SELECT Sname,YEAR(NOW())-YEAR(Sbirthday) AS Sage
FROM Students;

38完全是時間的基礎(chǔ)知識掌握不牢固

#43.查詢和“李軍”同性別的所有同學(xué)的Sname.
我的代碼:
select sname from students
where ssex = 
(select ssex from students where sname = '李軍');

題主代碼:
SELECT s1.Sname
FROM Students AS s1 INNER JOIN Students AS s2
ON(s1.Ssex=s2.Ssex)
WHERE s2.Sname='李軍';

#44.查詢和“李軍”同性別并同班的同學(xué)Sname.
我的代碼:
select * from students
where ssex = 
(select ssex from students where sname = '李軍')
and class =
(select class from students where sname = '李軍');

題主代碼:
SELECT s1.Sname
FROM Students AS s1 INNER JOIN Students AS s2
ON(s1.Ssex=s2.Ssex AND s1.Class=s2.Class)
WHERE s2.Sname='李軍';

#45.查詢所有選修“計算機導(dǎo)論”課程的“男”同學(xué)的成績表
我的代碼:
(可愛的我,這么勤勞聯(lián)結(jié)這么多張表……不知疲勞)
select sname,degree,cname,ssex from
(select * from coursers) a
inner join
(select * from scores) b
on a.cno = b.cno
inner join
(select * from students) c
on b.sno = c.sno
where cname = '計算機導(dǎo)論' and ssex = '男';

題主代碼:
SELECT * FROM Scores
WHERE Sno IN
(SELECT Sno FROM Students WHERE Ssex='男') 
AND Cno IN (SELECT Cno FROM Coursers WHERE Cname='計算機導(dǎo)論');

43、44、45是每任何問題的,只是感覺題主的代碼和我的不一樣。不知道是不是我的方法有問題。

好啦,之前練習(xí)的SQL練習(xí)【SQL經(jīng)典練習(xí)題】就總結(jié)到這里了……

20181225學(xué)習(xí)時間
7:00——7:30
6:00——7:10
9:30——12:30
仰臥起坐100,1點睡覺,6點20起床,6點50開始學(xué)習(xí)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,983評論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,772評論 3 422
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,947評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,201評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,960評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,350評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,406評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,549評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,104評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,914評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,089評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,647評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,340評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,753評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,007評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,834評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,106評論 2 375

推薦閱讀更多精彩內(nèi)容