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

好像今天圣誕節(jié)

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

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

#21.查詢成績(jī)高于學(xué)號(hào)為“109”、課程號(hào)為“3-105”的成績(jī)的所有記錄吴侦。
select * from scores 
group by cno 
having cno = 3105 and degree >
(select degree from scores where sno = 109 and cno = 3105);
#22.查詢和學(xué)號(hào)為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)在表連接的時(shí)候在做條件選擇和查詢的時(shí)候指定列名出自哪張表

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

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

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

26絕對(duì)是自己的邏輯問題盯蝴,為什么要按課程分組直接篩選大于85分成績(jī)的同學(xué)的課程號(hào)就可以啦毅哗。看見distinct可能是天真的我想用group by 選擇有幾個(gè)cno
邏輯問題捧挺!

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

#29.查詢選修編號(hào)為“3-105“課程且成績(jī)至少高于任意選修編號(hào)為“3-245”的同學(xué)的成績(jī)的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,方法自己還是會(huì)的,可能有些函數(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)在還不是很會(huì)用……

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

題主代碼:
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可以連接多個(gè)條件遏匆,并且不是等號(hào)是小于符號(hào)

#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絕對(duì)是沒明白意思法挨,任課老師谁榜,老師還有不上課的嗎?這里居然是讓我篩選哪些老師上課(PS:表中有些老師不上課……)

吐槽……簡(jiǎn)直顛覆本寶寶的常識(shí)凡纳,有不上課的老師嗎窃植?

#36.查詢至少有2名男生的班號(hào)。
我的代碼:
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),居然不對(duì)字段進(jìn)行操作的巷怜,是否有count(2),下來去操作下

#38.查詢Student表中每個(gè)學(xué)生的姓名和年齡暴氏。
我的代碼:
select curtime();  #現(xiàn)在的時(shí)間
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完全是時(shí)間的基礎(chǔ)知識(shí)掌握不牢固

#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.查詢所有選修“計(jì)算機(jī)導(dǎo)論”課程的“男”同學(xué)的成績(jī)表
我的代碼:
(可愛的我丛版,這么勤勞聯(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 = '計(jì)算機(jī)導(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='計(jì)算機(jī)導(dǎo)論');

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末燃箭,一起剝皮案震驚了整個(gè)濱河市冲呢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌招狸,老刑警劉巖敬拓,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異裙戏,居然都是意外死亡乘凸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門累榜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來营勤,“玉大人,你說我怎么就攤上這事壹罚「鹱鳎” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵猖凛,是天一觀的道長(zhǎng)赂蠢。 經(jīng)常有香客問我,道長(zhǎng)辨泳,這世上最難降的妖魔是什么客年? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任霞幅,我火速辦了婚禮,結(jié)果婚禮上量瓜,老公的妹妹穿的比我還像新娘司恳。我一直安慰自己,他們只是感情好绍傲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布扔傅。 她就那樣靜靜地躺著,像睡著了一般烫饼。 火紅的嫁衣襯著肌膚如雪猎塞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天杠纵,我揣著相機(jī)與錄音荠耽,去河邊找鬼。 笑死比藻,一個(gè)胖子當(dāng)著我的面吹牛铝量,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播银亲,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼慢叨,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了务蝠?” 一聲冷哼從身側(cè)響起拍谐,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎馏段,沒想到半個(gè)月后轩拨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡院喜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年气嫁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片够坐。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寸宵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出元咙,到底是詐尸還是另有隱情梯影,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布庶香,位于F島的核電站甲棍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏赶掖。R本人自食惡果不足惜感猛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一七扰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧陪白,春花似錦颈走、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至序厉,卻和暖如春锐膜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弛房。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工道盏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人文捶。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓荷逞,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親拄轻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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