【面試題】
有三張表:“學(xué)生表”、“課程表”、“學(xué)生選課表”?!皩W(xué)生表”的主鍵是“學(xué)號(hào)”
“課程表”的主鍵是“課程號(hào)”
“學(xué)生選課表”的主鍵是“學(xué)號(hào)”和“課程號(hào)”
問(wèn)題1:寫(xiě)出“學(xué)生表”的建表語(yǔ)句,其中學(xué)號(hào)屬性不能為空,并且其值是唯一的
問(wèn)題2:在“學(xué)生表”中查詢“所在系”是“計(jì)算機(jī)”的學(xué)生所有信息,并按“學(xué)號(hào)”從小到大排序
問(wèn)題3:基于以上三張表,查詢“學(xué)分”為5并且“成績(jī)”大于60的學(xué)生信息,包括學(xué)號(hào)、姓名和性別
【解題步驟】
建表的SQL語(yǔ)法如下
最基礎(chǔ)的建表語(yǔ)句中包含5個(gè)信息:
1)表的名稱;
2)字段名稱;
3)每個(gè)字段對(duì)應(yīng)的數(shù)據(jù)類型;
4)非空標(biāo)識(shí):not null,加了非空標(biāo)識(shí)的字段的值不能為空,否則會(huì)報(bào)錯(cuò);
5)主鍵標(biāo)識(shí):primary key,選擇一個(gè)字段作為主鍵,不能重復(fù)、不能為空,用于唯一標(biāo)識(shí)表中的每一條數(shù)據(jù)。
把上面建表語(yǔ)句的5個(gè)信息對(duì)應(yīng)到要建的學(xué)生表如下圖
問(wèn)題1:寫(xiě)出“學(xué)生表”的建表語(yǔ)句,其中學(xué)號(hào)屬性不能為空,并且其值是唯一的
“學(xué)生表”的建表語(yǔ)句為:
問(wèn)題2:在“學(xué)生表”中查詢“所在系”是“計(jì)算機(jī)”的學(xué)生所有信息,并按“學(xué)號(hào)”從小到大排序
排序語(yǔ)法如下:
order by 是查詢模塊中的排序語(yǔ)句,可以使得排序結(jié)果按一個(gè)或多個(gè)字段排序。
asc標(biāo)識(shí)從小到大排序,desc表示從大到小排序,默認(rèn)是從小到大排序。
問(wèn)題2的答案為:
問(wèn)題3:基于以上三張表,查詢“學(xué)分”為5并且“成績(jī)”大于60的學(xué)生信息,包括學(xué)號(hào)、姓名和性別
“學(xué)分”在“課程表”中,“成績(jī)”在“學(xué)生選課表”中,“學(xué)生信息”在“學(xué)生表”中。這個(gè)問(wèn)題涉及到三張表,需要用到多表聯(lián)結(jié),三個(gè)表的關(guān)系如下圖:
查詢結(jié)果:
【本題考點(diǎn)】
1.考查對(duì)建表語(yǔ)句的了解
2.考查對(duì)基礎(chǔ)查詢語(yǔ)句的了解
3.考查對(duì)多表聯(lián)結(jié)的靈活使用
推薦:從零學(xué)會(huì)SQL?