資料庫系統 李翊豪 2017/12/21 Reference http://www.codedata.com.tw/database/mysql-tutorial-basic-query https://www.fooish.com/sql/

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
《公路纵断面设计》 —— 纵断面设计的要求 道桥系 二○○七年五月. 纵断面设计的一般要求 1 .纵坡设计必须满足《公路工程技术标准》中的各项规定。 2 .为保证汽车能以一定的车速安全舒顺地行驶,纵坡应具有 — 定 的平顺性,起伏不宜过大及过于频繁。尽量避免采用极限纵坡 值.缓和坡段应自然地配合地形设置,在连续采用极限长度的.
强力推进 积极探索 努力提升计算机审计实施水平 AO案例和审计方法撰写介绍 曹红珍.
糖尿病健康教育 广水市健康教育所 (2).
第6章 数据库管理软件Access 年秋.
目 录 第 1 章 数据库技术基础 第 2 章 SQL Server基础 第 3 章 数据库管理 第 4 章 查询和视图
SQL的简单查询.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
十一 ASP对数据库的访问.
健康一二一 宜兴市疾病预防控制中心 周 茜
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
學 習 輔 導 的 實 施 組長: 李貞儀 組員: 吳巧玲 李佳蔚
第2讲 Transact-SQL语言.
数据库技术 实践.
高等院校计算机教材系列 数据库原理与应用(第2版) 任课教师:刘雅莉
Chap 11 SQL基本查詢指令.
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
                                         減肥.
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
大 綱 重大變革事項 甄選員額 甄選資格 甄選期程 軍官基礎教育與服役.
文科计算机小公共课规划教材 Access 程序设计.
第一讲 数据查询优化.
《计算机应用基础》 第六章 Access数据库管理系统
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
软件设计师培训.
计算机应用基础 上海大学计算中心.
報告人:財團法人台灣癌症基金會執行長 賴基銘 醫師
100學年度高職校務評鑑簡報 報告人:校長 江銘鉦 日期:101年4月27日
第3章 数据查询与SQL命令.
健康減重飲食 高雄國軍總醫院 營養師余惠婷.
金門縣多年國小101學年度 推動健康促進學校成果簡報
第5讲 分组查询 IBM Confidential.
查询数据.
Access 2007 進銷存管理系統實作 文魁資訊股份有限公司.
第六章 學習SQL語言.
9 SELECT敘述的進階查詢 9-1 SQL的多資料表查詢 9-2 合併查詢 9-3 集合運算查詢 9-4 子查詢
Chapter 12 T-SQL 語法與 ASP.NET.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
彰化縣政府補助辦理網頁設計資料庫應用班 ASP與資料庫介紹 建國技術學院資管系 饒瑞佶.
第三章 数据库和表的操作.
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
实验 2:MS Access QBE Query使用
第九章 進階的查詢技巧.
SQL SERVER 一些经典语句 1.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
MySQL 結構化查詢語言 MySQL.
第十七章 資料庫SQL 17-1 SELECT 17-2 INSERT 17-3 UPDATE 17-4 DELETE.
資料庫管理(Access 2003) 第五章 利用查詢來 統計與分析資料 許欽嘉 老師.
SQL Injection (資料隱碼) 學生:a 吳倩瑜 指導教授:梁明章.
網路遊戲版 幸福農場168號.
数据库技术.
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
查询与视图 蔡海洋.
第14章 SQL数据查询与操纵 内容提要 本章知识点
SQL查询语句 蔡海洋.
附錄D Access應用說明 主從式資料庫系統 - 附錄D.
國二EXCEL專案 上機考試版本: 主講者:黃韋欽 老師 考試者:國二全體學生.
本讲内容 SQL 概述 SQL 的查询功能 SQL 的操作功能 SQL 的定义功能.
8 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
数据分析工具 第10节.
模块六 数据库管理软件——Access 2010.
第4章 数据查询.
第 9 章 查詢資料- 善用 SELECT 敘述.
Presentation transcript:

資料庫系統 李翊豪 2017/12/21 Reference http://www.codedata.com.tw/database/mysql-tutorial-basic-query https://www.fooish.com/sql/

第一節 第二節 第三節 Select from ( as , distinct, Arithmetic Operators ) Where + or + and + order by + in + between…AND… + like 第三節 運算 (SUM , avg , count , MAX , MIN) + Group by + having

第一節 Select from ( as , distinct , Arithmetic Operators)

Select from 電影訂票系統 電影資訊 MOVIE 戲院 演員 場次 會員 訂票紀錄 電影編號 電影名稱 英文名稱 發行公司 導演 片長 上映日期

SELECT * FROM movie SELECT 指定需要的欄位 FROM 資料表名稱 * = 選擇全部欄位

SELECT Name , shown_date FROM movie SELECT 指定需要的欄位 FROM 資料表 SELECT Name , shown_date FROM movie

AS (Alias) => 替資料表或欄位名稱取一個別名。 DISTINCT => 過濾重複出現的資料。 Arithmetic Operators => 數學運算 AS (Alias、別名) (SQL Alias) 在 SQL 中我們可以替資料表或欄位名稱取一個別名 (Alias),這可以使名稱複雜的 SQL 查詢語句更易讀且可以有更直觀的查詢結果。 DISTINCT 一個資料表的某欄位中可能會有多個紀錄都是相同值的情況,在 SELECT 查詢語句中我們可使用 DISTINCT 關鍵字過濾重複出現的紀錄值。 https://www.fooish.com/sql/

SELECT Name as 電影名稱 , shown_date as 上映時間 FROM movie SELECT 資料欄位 AS 資料欄位新名稱 FROM movie SELECT Name AS 電影名稱 , shown_date AS 上映時間 FROM movie

DISTINCT 過濾重複 SELECT company FROM movie SELECT DISTINCT company as 發行公司 FROM movie SELECT DISTINCT 資料欄位 FROM movie SELECT company FROM movie SELECT DISTINCT company as 發行公司 FROM movie

Arithmetic Operators

ROUND() 四捨五入 FLOOR() 無條件捨去到整數

第二節 or and order by in & NOT IN BETWEEN … AND … Like & NOT LIKE

WHERE 想知道 ‘甲上’ 這間公司 發行過哪些電影 SELECT * FROM moive WHERE + 查詢條件的設定 SELECT * FROM 資料表 WHERE + 查詢條件的設定 SELECT * FROM movie WHERE company = ‘甲上’; 翻譯 在movie 這張資料表中 尋找(WHERE) company = ‘甲上’ 的資料 SELECT * FROM movie WHERE time_len = 120; 翻譯 在movie 這張資料表中 尋找(WHERE) time_len = 120 的資料

or 找電影的片長是120 或 86分鐘的 找華納兄弟這間發行公司 或 李安導演 拍過的電影 找華納兄弟這間發行公司 或 李安導演 拍過的電影 SELECT * FROM movie WHERE time_len = 120 OR time_len = 86; SELECT * FROM movie WHERE company = '華納兄弟' OR director = '李安';

and 想知道 2017年12月08號 華映發行了哪些電影 都要符合 SELECT * FROM movie WHERE shown_date = '2017-12-08' AND company = '華映'; 都要符合

order by SELECT * FROM 資料表 ORDER BY 資料欄位 [ASC|DESC] ORDER BY Ascending => ASC (小到大) //預設 Descending => DESC (大到小) 可排序 時間、數字、英文……等等 SELECT * FROM 資料表 ORDER BY 要排序的資料欄位 ASC|DESC order by 依照某個欄位來作排序 我們可以將 SELECT 取得的資料集依某欄位來作排序,而排序分別可以由小至大 (ascending; 預設),或由大至小 (descending)

假如想對所有電影 排序他的上映時間

排序

英文 小到大 例如 ASCII的 A => 65 . Z => 90

In && NOT IN 使用在一組成員資料的比對條件設定 找電影長度120或86分鐘的電影 使用在一組成員資料的比對條件設定 IN 搭配 WHERE 子句可以用來限定必需符合某些欄位值為條件來搜尋資料表中的特定資料。

BETWEEN … AND … BETWEEN 是用來找某範圍內連續的值作為條件來搜尋資料表中的特定資料。 作為查詢範圍條件的欄位型態可為數值、日期或字串,其中字串是依照字母排列順序來界定範圍。

Like && NOT LIKE 找2016的電影 找9月出的電影

找13號出的電影 找不是2017出的電影

練習

1.查看所有學生的學號和姓名 2.顯示所有學生的 “學號” “性別” “身高” “體重” (請用中文別名)

3.查看105入學的學生”姓名” ”身分證號碼” “學年” 4.查看105 或 104 入學的學生”姓名” ”身分證號碼” “學年”

5. 查看104學年度入學的女同學 ”姓名” ”手機” “性別” “學年” 6 5.查看104學年度入學的女同學 ”姓名” ”手機” “性別” “學年” 6.顯示 身高大於175的男性 和 身高大於170的女性 “學號” “身高” “性別” (請依據身高由高到低排序)

7. 顯示 105 學年 A班 小於60公斤的男生 “學號” “生日” “體重” “性別” “學年” “班別” 8 7.顯示 105 學年 A班 小於60公斤的男生 “學號” “生日” “體重” “性別” “學年” “班別” 8.顯示 106 學年 B 班 身高是177 或 169 或 162 的同學 “姓名” “身高” (按照身高 高到低排序)

9. 顯示 104 學年 B 班 體重在50 – 60 之間的同學 “學號” “體重” (小到大 排序) 10

11.顯示 所有李同學和林同學的 “姓名” “電話” “學年” “班別” (以學年優先排序 次為班別 ) 12.計算學號 M10511018 的 BMI ( 體重(公斤) / 身高2(公尺2) ) “學號” “姓名” “BMI”

第三節 運算 (SUM , avg , count , MAX , MIN) Group by having

運算 (SUM , avg , count, MAX , MIN) SUM() 函數用來計算一數值欄位的總合。 COUNT() 函數用來計算符合查詢條件的欄位紀錄總共有幾筆。 MAX() 函數用來取得特定欄位中的最大紀錄值。 MIN() 函數用來取得特定欄位中的最小紀錄值。

COUNT 搭配 DISTINCT 想知道 全部的發行公司有幾間 SELECT COUNT(Name) from movie;

159 子查詢 在所有電影中 找出撥放時間最長的電影 select Name , time_len from movie where time_len = (select MIN(time_len) from movie); 在所有電影中 找出撥放時間最短的電影

GROUP BY GROUP BY 敘述句搭配聚合函數 (aggregation function) 使用,是用來將查詢結果中特定欄位值相同的資料分為若干個群組,而每一個群組都會傳回一個資料列。 若沒有使用 GROUP BY,聚合函數針對一個 SELECT 查詢,只會返回一個彙總值。

舉華映為例子 將重複的資料組成一個群組 (華映) 對那個群組做SUM(time_len)

having HAVING 子句是用來取代 WHERE 搭配聚合函數 (aggregate function) 進行條件查詢,因為 WHERE 不能與聚合函數一起使用。 聚合函數指的也就是 AVG()、COUNT()、MAX()、MIN()、SUM() 等這些內建函數。 Select company , COUNT(company) AS 'count' from movie GROUP BY company HAVING COUNT(company) > 1 ;

練習

13.查看 105 學年 A班同學 總身高 14.查看 105 學年 A班所有男同學的平均身高 15.查看全校最高的在哪一個 “學年” “班別” 後面在顯示 “學號” “姓名” “身高”

16.查看 106 學年 A班有幾位同學 17.顯示各班人數 18.顯示平均身高 高於 160 的 班級 大到小排序