天天看點

3道題目,測試下你的SQL基礎

3道題目,測試下你的SQL基礎

【面試題】

有三張表:“學生表”、“課程表”、“學生選課表”。“學生表”的主鍵是“學号”

3道題目,測試下你的SQL基礎

“課程表”的主鍵是“課程号”

3道題目,測試下你的SQL基礎

“學生選課表”的主鍵是“學号”和“課程号”

3道題目,測試下你的SQL基礎

問題1:寫出“學生表”的建表語句,其中學号屬性不能為空,并且其值是唯一的

問題2:在“學生表”中查詢“所在系”是“計算機”的學生所有資訊,并按“學号”從小到大排序

問題3:基于以上三張表,查詢“學分”為5并且“成績”大于60的學生資訊,包括學号、姓名和性别

【解題步驟】

建表的SQL文法如下

3道題目,測試下你的SQL基礎

最基礎的建表語句中包含5個資訊:

1)表的名稱;

2)字段名稱;

3)每個字段對應的資料類型;

4)非空辨別:not null,加了非空辨別的字段的值不能為空,否則會報錯;

5)主鍵辨別:primary key,選擇一個字段作為主鍵,不能重複、不能為空,用于唯一辨別表中的每一條資料。

把上面建表語句的5個資訊對應到要建的學生表如下圖

3道題目,測試下你的SQL基礎

問題1:寫出“學生表”的建表語句,其中學号屬性不能為空,并且其值是唯一的

“學生表”的建表語句為:

3道題目,測試下你的SQL基礎

問題2:在“學生表”中查詢“所在系”是“計算機”的學生所有資訊,并按“學号”從小到大排序

排序文法如下:

3道題目,測試下你的SQL基礎

order by 是查詢子產品中的排序語句,可以使得排序結果按一個或多個字段排序。

asc辨別從小到大排序,desc表示從大到小排序,預設是從小到大排序。

問題2的答案為:

3道題目,測試下你的SQL基礎

問題3:基于以上三張表,查詢“學分”為5并且“成績”大于60的學生資訊,包括學号、姓名和性别

“學分”在“課程表”中,“成績”在“學生選課表”中,“學生資訊”在“學生表”中。這個問題涉及到三張表,需要用到多表聯結,三個表的關系如下圖:

3道題目,測試下你的SQL基礎
3道題目,測試下你的SQL基礎

查詢結果:

3道題目,測試下你的SQL基礎

【本題考點】

1.考查對建表語句的了解

2.考查對基礎查詢語句的了解

3.考查對多表聯結的靈活使用

3道題目,測試下你的SQL基礎
3道題目,測試下你的SQL基礎

推薦:從零學會SQL?

3道題目,測試下你的SQL基礎