20道mysql

表名和字段

–1.學生表

Student(s_id,s_name,s_birth,s_sex) –學生編號,學生姓名, 出生年月,學生性別

–2.課程表

Course(c_id,c_name,t_id) – –課程編號, 課程名稱, 教師編號

–3.教師表

Teacher(t_id,t_name) –教師編號,教師姓名

–4.成績表

Score(s_id,c_id,s_score) –學生編號,課程編號,分數

測試數據

--建表

--學生表

CREATE TABLE `Student`(

? ? `s_id` VARCHAR(20),

? ? `s_name` VARCHAR(20) NOT NULL DEFAULT '',

? ? `s_birth` VARCHAR(20) NOT NULL DEFAULT '',

? ? `s_sex` VARCHAR(10) NOT NULL DEFAULT '',

? ? PRIMARY KEY(`s_id`)

);

--課程表

CREATE TABLE `Course`(

? ? `c_id`? VARCHAR(20),

? ? `c_name` VARCHAR(20) NOT NULL DEFAULT '',

? ? `t_id` VARCHAR(20) NOT NULL,

? ? PRIMARY KEY(`c_id`)

);

--教師表

CREATE TABLE `Teacher`(

? ? `t_id` VARCHAR(20),

? ? `t_name` VARCHAR(20) NOT NULL DEFAULT '',

? ? PRIMARY KEY(`t_id`)

);

--成績表

CREATE TABLE `Score`(

? ? `s_id` VARCHAR(20),

? ? `c_id`? VARCHAR(20),

? ? `s_score` INT(3),

? ? PRIMARY KEY(`s_id`,`c_id`)

);

--插入學生表測試數據

insert into Student values('01' , '趙雷' , '1990-01-01' , '男');

insert into Student values('02' , '錢電' , '1990-12-21' , '男');

insert into Student values('03' , '孫風' , '1990-05-20' , '男');

insert into Student values('04' , '李云' , '1990-08-06' , '男');

insert into Student values('05' , '周梅' , '1991-12-01' , '女');

insert into Student values('06' , '吳蘭' , '1992-03-01' , '女');

insert into Student values('07' , '鄭竹' , '1989-07-01' , '女');

insert into Student values('08' , '王菊' , '1990-01-20' , '女');

--課程表測試數據

insert into Course values('01' , '語文' , '02');

insert into Course values('02' , '數學' , '01');

insert into Course values('03' , '英語' , '03');

--教師表測試數據

insert into Teacher values('01' , '張三');

insert into Teacher values('02' , '李四');

insert into Teacher values('03' , '王五');

--成績表測試數據

insert into Score values('01' , '01' , 80);

insert into Score values('01' , '02' , 90);

insert into Score values('01' , '03' , 99);

insert into Score values('02' , '01' , 70);

insert into Score values('02' , '02' , 60);

insert into Score values('02' , '03' , 80);

insert into Score values('03' , '01' , 80);

insert into Score values('03' , '02' , 80);

insert into Score values('03' , '03' , 80);

insert into Score values('04' , '01' , 50);

insert into Score values('04' , '02' , 30);

insert into Score values('04' , '03' , 20);

insert into Score values('05' , '01' , 76);

insert into Score values('05' , '02' , 87);

insert into Score values('06' , '01' , 31);

insert into Score values('06' , '03' , 34);

insert into Score values('07' , '02' , 89);

insert into Score values('07' , '03' , 98);

SELECT * from course; -- 2.課程表 Course(c_id,c_name,t_id) – –課程編號, 課程名稱, 教師編號

SELECT * from score; -- 4.成績表Score(s_id,c_id,s_score) –學生編號,課程編號,分數

SELECT * from student;-- –1.學生表 Student(s_id,s_name,s_birth,s_sex) –學生編號,學生姓名, 出生年月,學生性別

SELECT * from teacher; -- 教師表? Teacher(t_id,t_name) –教師編號,教師姓名

select 查詢條件 from 表名 where 表1,2之間相同的聯系 group by(分組)...having (對沒有的加一起的列名提出的條件)order by (排序)

-- 1、查詢"01"課程比"02"課程成績高的學生的信息及課程分數

select? e.score,s.*? from score e ,student s

where?

select s.*,e.s_score,a.s_score from student s ,score e,score a

where e.s_id = s.s_id and a.s_id=s.s_id and e.c_id='01' and a.c_id='02' and a.s_score<e.s_score

-- 2、查詢"01"課程比"02"課程成績低的學生的信息及課程分數

select s.*,e.s_score,a.s_score from student s ,score e,score a

where e.s_id = s.s_id and a.s_id=s.s_id and e.c_id='01' and a.c_id='02' and a.s_score>e.s_score

-- 3、查詢平均成績大于等于60分的同學的學生編號和學生姓名和平均成績

SELECT s.s_id,s.s_name,avg(e.s_score)? FROM student s,score e

WHERE e.s_id=s.s_id HAVING AVG(e. s_score)>=60

-- 4、查詢所有同學的學生編號、學生姓名、選課總數、所有課程的總成績

SELECT? s.s_id,s.s_name,COUNT(c_id),SUM(e.s_score)? FROM? student s ,score e

where s.s_id=e.s_id group by s.s_id,s.s_name

-- 5、查詢"李"姓老師的數量

SELECT * from course; -- 2.課程表 Course(c_id,c_name,t_id) – –課程編號, 課程名稱, 教師編號

SELECT * from score; -- 4.成績表Score(s_id,c_id,s_score) –學生編號,課程編號,分數

SELECT * from student;-- –1.學生表 Student(s_id,s_name,s_birth,s_sex) –學生編號,學生姓名, 出生年月,學生性別

SELECT * from teacher; -- 教師表? Teacher(t_id,t_name) –教師編號,教師姓名

select count(t_name) from teacher where t_name like '李%'

-- 6、查詢學過編號為"01"并且也學過編號為"02"的課程的同學的信息

select s.* from student s, score e, score a

WHERE s.s_id=e.s_id and s.s_id=a.s_id

and? e.s_id='01' and a.s_id= '02'

-- 7、檢索"01"課程分數小于60,按分數降序排列的學生信息

select s.*,e.s_score from student s,score e where s.s_id=e.s_id and e.c_id='01' and e.s_score<60 ORDER BY e.s_score DESC

-- 8、查詢不同老師所教不同課程平均分從高到低顯示

select t.t_name,AVG( e.s_score),c.c_name from teacher t,score e ,course c

where c.c_id=e.c_id and c.t_id=t.t_id? GROUP BY t.t_name

ORDER BY avg(e.s_score) DESC

-- 9、查詢每門課程被選修的學生數

SELECT e.c_id,COUNT( *) from score e group by e.c_id

-- 10、查詢男生、女生人數

select s_sex,COUNT(*) from student group by s_sex

-- 11、查詢名字中含有"風"字的學生信息

SELECT * from course; -- 2.課程表 Course(c_id,c_name,t_id) – –課程編號, 課程名稱, 教師編號

SELECT * from score; -- 4.成績表Score(s_id,c_id,s_score) –學生編號,課程編號,分數

SELECT * from student;-- –1.學生表 Student(s_id,s_name,s_birth,s_sex) –學生編號,學生姓名, 出生年月,學生性別

SELECT * from teacher; -- 教師表? Teacher(t_id,t_name) –教師編號,教師姓名

SELECT * from student? where s_name like '風'

-- 12、查詢同名同性學生名單,并統計同名人數

SELECT s_name,COUNT( *) from student GROUP by s_name HAVING COUNT(*)>1

-- 13、查詢1990年出生的學生名單

SELECT * from student where s_birth=1990

-- 14、查詢每門課程的平均成績,結果按平均成績降序排列,平均成績相同時,按課程編號升序排列

select AVG(e.s_score),c.c_name from score e, course c WHERE e.c_id=c.c_id? GROUP BY c.c_name ORDER BY AVG( e.s_score) DESC , e.c_ID ASC

-- 15、查詢平均成績大于等于85的所有學生的學號、姓名和平均成績

select s.s_id,s.s_name,AVG(e.s_score) FROM student s,score e where s.s_id=e.s_id GROUP BY e.s_id HAVING AVG( e.s_score)>85

-- 16、查詢不及格的課程

select c.c_name,s.s_name,e.s_score? from student s,course c, score e where c.c_id=e.c_id and s.s_id=e.s_id? and e.s_score<60

-- 17、查詢課程編號為01且課程成績在80分以上的學生的學號和姓名;

select s.s_id,s.s_name from student s, score e where e.s_score>80 and e.s_id='01' GROUP BY s.s_id

-- 18、求每門課程的學生人數

SELECT * from course; -- 2.課程表 Course(c_id,c_name,t_id) – –課程編號, 課程名稱, 教師編號

SELECT * from score; -- 4.成績表Score(s_id,c_id,s_score) –學生編號,課程編號,分數

SELECT * from student;-- –1.學生表 Student(s_id,s_name,s_birth,s_sex) –學生編號,學生姓名, 出生年月,學生性別

SELECT * from teacher; -- 教師表? Teacher(t_id,t_name) –教師編號,教師姓名

select c_id,count(*) as "學生人數"

from score

GROUP BY C_Id

-- 19、統計每門課程的學生選修人數(超過5人的課程才統計)。要求輸出課程號和選修人數,查詢結果按人數降序排列,若人數相同,按課程號升序排列

select C_Id,count(*) as "學生人數"

from score

GROUP BY "學生人數",c_id ORDER BY "學生人數" DESC ,s_score ASC

-- 20、檢索至少選修兩門課程的學生學號

select s_id from score GROUP BY s_score HAVING COUNT( *)>1

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

推薦閱讀更多精彩內容