亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

分享整理的12條sql語句連同數據

2024-08-31 00:57:23
字體:
來源:轉載
供稿:網友
俺覺得自 己試著寫寫sql,調試調試還是有幫助的,讀人家sql例子好像讀懂了,自己寫就未 必思路正確,調試得通,寫得簡潔。

跟著網上流行的學生選課表的例子復習了一下:

這篇文字在網上被轉載爛了,里面有些sql適合用在應用系統里,有些“報表”的感 覺更重些,主要是想復習前者。前20條大體還挺好,后30條明顯偏報表風格了,而 且后面選例良莠不齊,選了12個例子做練習,(其實很多語法,case, any/all, union之類的都沒包括),用mysql數據庫,并共享自己造出來的數據。關于這12條 sql, 修正了原文中有紕漏的地方。

sql是基本技能,若能寫得好也挺精彩的,還在繼續練習。絕不提倡努力寫復雜sql 解決業務問題。應用系統里如果存在很復雜的sql,往往揭示了業務邏輯向下泄露 到sql層的問題,不利于維護和擴展,雖然這樣確實常能提高運行效率。具體情況 自行取舍。
下面的例子都是比較通用的sql, 其實針對特定的數據庫,需要學的也挺多,比如 oracle db的decode函數, rowid, rownum, connect by 雖然不通用,但是很實用。

數據可以在這里下載,只是用作練習,沒做任何外鍵關聯:

整理的sql在下面:
Student(S#,Sname,Sage,Ssex) 學生表
Course(C#,Cname,T#) 課程表
SC(S#,C#,score) 成績表
Teacher(T#,Tname) 教師表

1. 選出每門功課都及格的學號
select distinct `s#` from sc where `s#` not in (select `s#` from sc where score <60)
2. 查詢“1”課程比“2”課程成績高的所有學生的學號;
SELECT c01.`s#` from (select `s#`, `score` from sc where `c#`=1) c01,
(select `s#`, `score` from sc where `c#`=2) c02
where c01.`s#` = c02.`s#` and c01.score > c02.score
3. 查詢平均成績大于60分的同學的學號和平均成績;
select `s#`, avg(score) from sc group by `s#` having avg(score) > 60
4. 查詢所有同學的學號、姓名、選課數、總成績;
select student.`s#`, student.`Sname`, count(`c#`), sum(score) from student left outer join sc on student.`s#` = sc.`s#` group by student.`s#`, sc.`s#`

5.查詢沒學過“葉平”老師課的同學的學號、姓名;
select student.`s#`, student.`Sname` from student where student.`s#` not in (select distinct(sc.`s#`) from teacher, course, sc where Tname='葉平' and teacher.`t#` = course.`t#` and sc.`c#`= course.`c#` )
6. 查詢學過“001”并且也學過編號“002”課程的同學的學號、姓名
select student.`s#`, student.sname from student, sc where student.`s#` = sc.`s#` and sc.`c#` = 1 and exists (select * from sc sc_2 where sc_2.`c#`=2 and sc.`s#`=sc_2.`s#`)
7. 查詢學過“葉平”老師所教的所有課的同學的學號、姓名 (巧妙)
select `s#`, sname from student where `s#` in
(select `s#` from sc, teacher, course where tname='葉平' and teacher.`t#`=course.`t#` and course.`c#`= sc.`c#` group by `s#` having count(sc.`c#`)=
(select count(`c#`) from teacher, course where tname='葉 平' and teacher.`t#`=course.`t#`) )

8. 查詢課程編號“002”的成績比課程編號“001”課程低的所有同學的學號、姓名 (有代表性)
select `s#`, sname from (select student.`s#`, student.sname, score, (select score from sc sc_2 where student.`s#`=sc_2.`s#` and sc_2.`c#`=2) score2 from student , sc where
sc.`s#`=student.`s#` and sc.`c#`=1) s_2 where score2 < score
9.查詢沒有學全所有課的同學的學號、姓名
select student.`S#`, Sname from student, sc where student.`s#` = sc.`s#` group by `s#`, sname having count(`c#`) < (select count(`c#`) from course)

10. 查詢至少有一門課與學號為“002”的同學所學相同的同學的學號和姓名;
select distinct(sc.`s#`), sname from student, sc where student.`s#`=sc.`s#` and `c#` in (select `c#` from sc where `s#`=002)
11. 把“SC”表中“葉平”老師教的課的成績都更改為此課程的平均成績;

update sc inner join
(select sc2.`c#`, avg(sc2.score) score from sc sc2, teacher, course where
sc2.`c#`=course.`c#` and tname='葉平' and teacher.`t#` = course.`t#` and course.`c#`=sc2.`c#` group by course.`c#`) sc3 on sc.`c#`=sc3.`c#` set sc.score=sc3.score
12. 查詢2號的同學學習的課程他都學了的同學的學號;(注意理解:where語句的 第一個條件過濾掉不滿足c#的記錄,再group by,就比較清晰)
select `S#` from SC where `C#` in (select `C#` from SC where `S#`=2)
group by `S#` having count(*)=(select count(*) from SC where `S#`=2);

作者 人在江湖
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人av资源网| 日韩av在线一区二区| 欧美精品在线播放| 国产亚洲aⅴaaaaaa毛片| 国内免费久久久久久久久久久| 97成人在线视频| 日韩欧美在线观看视频| 欧洲日韩成人av| 精品国产美女在线| 国产日韩一区在线| 日韩日本欧美亚洲| 中文字幕亚洲一区在线观看| 成人福利视频在线观看| 国产一区二区三区在线视频| 亚洲第一视频网| 国产一区私人高清影院| 色老头一区二区三区| 亚洲精品狠狠操| 精品一区二区三区电影| 97av在线视频免费播放| 色狠狠久久aa北条麻妃| 色哟哟网站入口亚洲精品| 欧美在线观看网址综合| 91精品国产91久久久久久| 91天堂在线视频| 日韩专区中文字幕| 欧美裸体xxxx| 黑丝美女久久久| 乱亲女秽乱长久久久| 亚洲精品国产精品久久清纯直播| 中文字幕久久久av一区| 国产午夜精品理论片a级探花| 麻豆国产va免费精品高清在线| 久久精品一偷一偷国产| 日本aⅴ大伊香蕉精品视频| 精品国产电影一区| 亚洲人成电影在线观看天堂色| 欧美午夜无遮挡| 亚洲人成在线观| 96pao国产成视频永久免费| 美女精品视频一区| 精品高清美女精品国产区| 久久夜色精品国产欧美乱| 久久久久久久久久久免费| 国产精品电影久久久久电影网| 成人www视频在线观看| 久久久久久成人精品| 欧美激情手机在线视频| 欧美中文在线观看国产| 在线一区二区日韩| 亚州精品天堂中文字幕| 久久理论片午夜琪琪电影网| 国产日韩在线亚洲字幕中文| 国产一区二区黄| 久久成人这里只有精品| 国产精品日日摸夜夜添夜夜av| 大胆人体色综合| 国产美女被下药99| 91国内揄拍国内精品对白| 国产欧美日韩中文字幕在线| 欧美黄色片视频| 久久九九国产精品怡红院| 国产精品一区久久| 一本色道久久88精品综合| 欧美xxxx14xxxxx性爽| 国产精品日韩一区| 欧美人交a欧美精品| 国产成人a亚洲精品| 亚洲欧美色婷婷| 日韩免费视频在线观看| 91国在线精品国内播放| 久久精品国产亚洲精品| 亚洲色图日韩av| 尤物99国产成人精品视频| 欧美夫妻性生活视频| 欧美大片在线免费观看| 91精品国产91| 欧美激情免费观看| 亚洲激情成人网| 国内免费久久久久久久久久久| 亚洲精品久久久久久久久久久| 亚洲视频一区二区| 国产精品免费看久久久香蕉| 日韩极品精品视频免费观看| **欧美日韩vr在线| 精品久久久久久久大神国产| 欧洲美女7788成人免费视频| 亚洲精品国产精品久久清纯直播| 久久中文字幕在线视频| 91精品综合久久久久久五月天| 国产亚洲欧美另类中文| 欧美成人国产va精品日本一级| 国产日韩欧美电影在线观看| 理论片在线不卡免费观看| 国产视频欧美视频| 91高潮精品免费porn| 日韩av综合网| 国产精品视频男人的天堂| 久久天天躁狠狠躁夜夜av| 亚洲精品720p| 亚洲福利视频免费观看| 91精品久久久久久久久中文字幕| 久久免费观看视频| 欧美成人剧情片在线观看| 国产精品自拍视频| 人九九综合九九宗合| 久久久之久亚州精品露出| 亚洲欧洲日产国码av系列天堂| 国产成人精品最新| 亚洲精品资源在线| 国产精品久久在线观看| 国产精品久久久久久久久久小说| 亚洲a一级视频| 国语自产精品视频在线看一大j8| 国产69精品久久久久久| 色偷偷av一区二区三区| 欧美视频不卡中文| 日韩精品亚洲视频| 欧美精品videos性欧美| 91精品久久久久久久久久久久久久| 久久精品国产成人| 91国内产香蕉| 国产亚洲视频在线| 日本精品va在线观看| 国产精品成人在线| 91av在线国产| 国产网站欧美日韩免费精品在线观看| 欧美午夜宅男影院在线观看| 欧美日韩精品中文字幕| 三级精品视频久久久久| 国产日韩精品综合网站| 欧美国产亚洲视频| 日韩亚洲综合在线| 色婷婷综合成人| 国产mv免费观看入口亚洲| zzjj国产精品一区二区| 国产suv精品一区二区三区88区| 欧美日韩免费看| 成人久久久久久久| 国产精品普通话| 人九九综合九九宗合| 欧美黑人一区二区三区| 亚洲国产小视频| 尤物99国产成人精品视频| 欧美一级在线亚洲天堂| 久久精彩免费视频| 亚洲一品av免费观看| 人人澡人人澡人人看欧美| 中文字幕亚洲无线码在线一区| 欧美精品在线观看| 成人国产精品久久久| 欧美综合在线第二页| 日韩美女在线观看一区| 91色精品视频在线| 欧美日韩国产成人在线| 国产精品永久免费观看| 亚洲欧美国产日韩天堂区| 亚洲精品国偷自产在线99热| 日韩精品亚洲精品| 国产精品国产自产拍高清av水多| 91精品国产色综合| 欧美性精品220| 日韩精品有码在线观看| 欧美日韩激情视频8区|