第十八章使用sql整合网页与资料库内容摘要:

範例 (1)  我們以資料庫 為例,這個資料庫包含兩個資料表:  Player 包含球員的資料,其中 TeamID 是球員所隸屬的籃球隊代號(載明在 Team 資料表),Percentage 是投籃的命中率。  Team 包含籃球隊的資料,其中 WinNo 是本季的贏球次數。 31/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (2)  SELECT * FROM Team  意義:所有球隊資料  說明:「 *」代表 Team 資料表中所有的欄位  查詢結果: ID Name WinNo 1 台北隊 12 2 新竹隊 7 3 台中隊 10 4 南投隊 12 5 台南隊 17 6 高雄隊 16 7 澎湖隊 11 32/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (3)  SELECT TOP 3 * FROM Team  意義:所有球隊資料,但只抓前三筆  說明:「 TOP 3」 代表只抓取前三筆資料。 也可以使用「 TOP 25 percent」 等,代表抓取所有資料的前百分之二十五。  查詢結果: ID Name WinNo 1 台北隊 12 2 新竹隊 7 3 台中隊 10 33/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (4)  SELECT Name, Percentage FROM Player WHERE NickName=‘gavins’  意義:綽號為 gavins 的球員姓名及命中率  查詢結果: Name Percentage 林政源 34/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (5)  SELECT * FROM Team WHERE Name like ’台 %’  意義:隊名以「台」開頭的球隊資料  說明:「 %」代表任意長度的字串。  查詢結果: ID Name WinNo 1 台北隊 12 3 台中隊 10 5 台南隊 17 35/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (6)  SELECT Name, Percentage FROM Player WHERE Name like ’陳 __’  意義:「姓陳且名字有三個字」的球員姓名及命中率  說明:「 _」代表任意單一字元。  查詢結果: Name Percentage 陳孜彬 陳俊傑 陳江村 36/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (7)  SELECT Name, WinNo FROM Team WHERE WinNo10  意義:「勝場數大於 10」的球隊名稱及其勝場數  查詢結果: Name WinNo 台北隊 12 南投隊 12 台南隊 17 高雄隊 16 澎湖隊 11 37/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (8)  SELECT Name, WinNo FROM Team WHERE WinNo10 ORDER BY WinNo DESC  意義:「勝場數大於 10」的球隊名稱及其勝場數,並根據勝場數由大到小排列  說明:若不加入 DESC, 則會進行由小到大的排序。  查詢結果: Name WinNo 台南隊 17 高雄隊 16 南投隊 12 台北隊 12 澎湖隊 11 38/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (9)  SELECT TeamID, Name, Percentage FROM Player WHERE TeamID=5 ORDER BY Percentage DESC  意義:「球隊代碼為 5」的球員命中率排行榜  查詢結果: TeamID Name Percentage 5 邱中人 5 陳晴 5 林政源 5 張秤嘉 5 陳俊傑 5 葉佳慧 39/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (10)  SELECT * FROM Player ORDER BY TeamID, Percentage DESC  意義:每一隊的球員命中率排行榜  說明:列出結果會先按 TeamID 由小到大排序,再按 Percentage 由大到小排序。  查詢結果: ID NickName Name TeamID Percentage 18 Gao 高名揚 1 12 roland 吳瑞千 1 13 sony 林頌華 1 3 ben 陳孜彬 1 … 40/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (11)  SELECT count(*) FROM Team WHERE WinNo10  意義:「勝場數大於 10」的球隊總數  說明: count()函數會計算資料筆數,資料庫會自動產生暫時的欄位名稱 Expr1000。  查詢結果: Expr1000 5 41/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (12)  SELECT max(Percentage) as 最高命中率 FROM Player  意義:所有球員的最高命中率  說明: max(Percentage)函數會計算命中率最大值。 由於使用了「 as 最高命中率」,資料庫會自動產生暫時的欄位名稱「最高命中率」。  查詢結果: 最高命中率 42/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (13)  SELECT TOP 1 Name, Percentage FROM Player ORDER BY Percentage DESC  意義:具有最高命中率的球員資料  查詢結果: Name Percentage 洪鵬翔 43/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 檢示資料範例 (14)  SELECT Name, Percentage FROM Player WHERE Percentage in (SELECT max(Percentage) FROM Player)  意義:具有最高命中率的球員資料  說明:功能同前一個範例,但是改用兩個 SQL 指令組合來達成同樣的效果。  查詢結果: Name Percentage 洪鵬翔 44/69 JavaScript 程式設計與應用:用於伺服器端的 ASP環境 GROUP BY與 HAVING  基本結構  說明  GROUP BY 其後所接的欄位名稱為需要聚合的欄位名稱。 (所謂「聚合」,就是將相同欄位值的數筆資料合成一筆新資料。 )。  HAVING 其後所接的條件式,則會用在聚合後的資料篩選。 SELECT 欄位名稱 1, 欄位名稱 2, ... FROM 資料表名稱 1, 資料表名稱 2, ... [WHERE 條件式 ] [GROUP BY 欄位名稱 1, 欄位。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。