實驗樓sql進階之成績管理系統的數據操作(window)

背景


物理老師想要找出分數最高的同學進行表揚,請你找出這個同學並把他的信息(id、姓名、性別)輸出到路徑 /tmp/ 下的 physics.txt文件中。同時 Tom 的化學成績有異議,需要在原來的基礎上加3分,請更新 Tom 的化學成績。

有三個表

  • 學生表(student):學生 id 、學生姓名和性別

  • 課程表(course):課程 id 和課程名

  • 成績表(mark):成績 id 、學生 id 、課程 id 和分數

目標

  • 1.MySQL 服務處於運行狀態
  • 2.下載運行 createdb.sql 文件,完成數據庫的建立
  • 3.找出物理(physics)分數最高的同學,並把他的信息(id、姓名、性別)輸出到路徑 /tmp/ 下的 physics.txt文件中
  • 4.修改 Tom 的化學(chemistry)成績,在原來的基礎上加3分

提示

  • 執行 .sql 文件
    1.1導入
    這裏寫圖片描述
    1.2查看數據庫
    這裏寫圖片描述
    1.3查看錶格
    這裏寫圖片描述
  • 查詢與子查詢操作
    where的寫法
    這裏寫圖片描述
    join的寫法
    這裏寫圖片描述
    很複雜並且答案有問題的方法
    這裏寫圖片描述
  • into outfile:將查詢結果輸出到文件

    這裏寫圖片描述

  • update 更新操作

    這裏寫圖片描述

    這裏寫圖片描述

擴展

  • order by的用法

    使用order by,,依照查詢結果的某一列(或多列)屬性,進行排序(升序:ASC;降序:DESC;默認爲升序)。

  • GROUP BY子句的作用對象是查詢的中間結果表

    分組方法:按指定的一列或多列值分組,值相等的爲一組。 使用GROUP BY子句後,SELECT子句的列名列表中只能出現分組屬性和集函數(count())。 總結:一個用來排序的,一個用來求中間結果集的。