SQL 進階查詢.

Slides:



Advertisements
Similar presentations
Installment 7 Tables With No Column Presented by rexmen 2001 資管所.林彥廷.
Advertisements

1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
建立使用案例敘述 --Use Case Narrative
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
Advanced Chemical Engineering Thermodynamics
“Rule” By OX. By Check CREATE TABLE 員工薪資 ( 編號 int IDENTITY PRIMARY KEY, 薪資 smallmoney, CHECK ( 薪資 > 0 AND 薪資
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
BY OX. 檢視表與資料表的差異性 查詢 (query) 檢視表 (View) 的紀錄,是經由查詢 (query) 而來,而檢 視表的資料來源可以是單一資料表或是多資料表,甚 至其他檢視表 但檢視表中的紀錄只存在資料表中.
指導教授:陳淑媛 學生:李宗叡 李卿輔.  利用下列三種方法 (Edge Detection 、 Local Binary Pattern 、 Structured Local Edge Pattern) 來判斷是否為場景變換,以方便使用者來 找出所要的片段。
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 參 實驗法.
亂數產生器安全性評估 之統計測試 SEC HW7 姓名:翁玉芬 學號:
Review of Chapter 3 - 已學過的 rules( 回顧 )- 朝陽科技大學 資訊管理系 李麗華 教授.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
消費者物價指數反映生活成本。當消費者物價指數上升時,一般家庭需要花費更多的金錢才能維持相同的生活水準。經濟學家用物價膨脹(inflation)來描述一般物價持續上升的現象,而物價膨脹率(inflation rate)為物價水準的變動百分比。
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
各種線上電子資源的特異功能 STICnet 的 SDI 專題訂閱服務 2003/4/28 修改. 無論校內外皆可使用。連線至
8.1 何謂高度平衡二元搜尋樹 8.2 高度平衡二元搜尋樹的加入 8.3 高度平衡二元搜尋樹的刪除
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
SQL 介紹 視觀、序列、同義詞、索引.
Monte Carlo Simulation Part.2 Metropolis Algorithm Dept. Phys. Tunghai Univ. Numerical Methods C. T. Shih.
2009fallStat_samplec.i.1 Chap10 Sampling distribution (review) 樣本必須是隨機樣本 (random sample) ,才能代表母體 Sample mean 是一隨機變數,隨著每一次抽出來的 樣本值不同,它的值也不同,但會有規律性 為了要知道估計的精確性,必需要知道樣本平均數.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
第二章 供給與需求 中興大學會計學系 授課老師:簡立賢.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
1 Netlibrary 電子書 Netlibrary 創始於 1998 年,是世界知名的電子書資 料庫,提供 450 多家出版社所出版近 100,962 ( 止)本的電子書,且以每月 2,000 本的 速度增加中。其中 80% 屬於學術性圖書,其餘 20% 一般圖書, 90% 以上為.
CH 15- 元件可靠度之驗證  驗證方法  指數模式之可靠度驗證  韋式模式之可靠度驗證  對數常態模式之可靠度驗證  失效數為零時之可靠度估算  各種失效模式之應用.
資料庫程式設計與系統管理 SQL Server 2005 Express 第六章 進階資料庫設計.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
公用品.  該物品的數量不會因一人的消費而受到 影響,它可以同時地被多人享用。 角色分配  兩位同學當我的助手,負責:  其餘各人是投資者,每人擁有 $100 , 可以投資在兩種資產上。  記錄  計算  協助同學討論.
Management Abstracts Retrieval System; MARS 檢索操作.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
Image Interpolation Use SSE 指導教授 : 楊士萱 學 生 : 楊宗峰 日 期 :
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Structural Equation Modeling Chapter 6 CFA 根據每個因素有多重指標,以減少 測量誤差並可建立問卷的構念效度 驗證性因素分析.
Learning Method in Multilingual Speech Recognition Author : Hui Lin, Li Deng, Jasha Droppo Professor: 陳嘉平 Reporter: 許峰閤.
Chapter 10 m-way 搜尋樹與B-Tree
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
演算法課程 (Algorithms) 國立聯合大學 資訊管理學系 陳士杰老師 Course 7 貪婪法則 Greedy Approach.
網路介紹及其運用 講師陳炯勳. 5-2 IP 協定 ( 一 ) IP 協定運作 (1) – 網路成員:主機 (Host) 與路由器 (Router) – 路由表 – 電報傳輸運作.
概念性產品企劃書 呂學儒 李政翰.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
ArcINFO &Geodatabase 由 ESRI 產生 1970 ArcINFO 一開始被設計在迷你電 腦上, 後來逐漸發展, 在 UNIX 系統上也能 執行, 直到今天, 已經可以在不同的平台上 運作.
連續隨機變數 連續變數:時間、分數、重量、……
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
著作權所有 © 旗標出版股份有限公司 第 3 章 資料庫物件的關係. 本章提要 Access 資料庫物件的關係 Access 資料庫物件的關係 簡介 Access 的七大物件 簡介 Access 的七大物件 Access 的群組 Access 的群組.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
數字系統與資料表示法 教師: 陳炯勳 數系轉換 r進制數字 稱為 base r或 radix r 有r個計數符號,計數順序逢r歸零(進位) A n A n - 1 ‥‥A 2 A 1 A 0 ﹒A -1 A -2 ‥‥A -m 其中A n 及A.
Microsoft Excel.
實體關係模型 (ER Model).
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
CH 14-可靠度工程之數學基礎 探討重點 失效時間之機率分配 指數模式之可靠度工程.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Presentation transcript:

SQL 進階查詢

▊ Data Query Language, DQL (資料查詢語言) DQL只有一個指令– Select,用以查詢資料庫的相關資料,語法如下: SELECT <attribute list> FROM <table list> WHERE <condition> GROUP BY <grouping attributes> HAVING <grouping condition> ORDER BY <column name> ASC/DESC SQL查詢語言由上述六個子句所組成,只有Select和From是必要的。 執行順序: FROM→WHERE →GROUP BY →HAVING →SELECT →ORDER BY

▊關聯查詢 因為資料庫設計與正規化的原因,單一資料庫表格的查詢似乎比較少,反而因為正規化把在單一表格分割成兩個或兩個以上的表格,所以原本可以在原單一表格中查詢到的資料,現在必須透過兩個或兩個以上的表格查詢才能得到,這種跨表格的查詢稱為關聯查詢。

卡笛生乘積(Cartesian Product) 卡笛生乘積實際上就是一種無條件Join的關聯,這種操作往往會產生大量的資料列,其結果並沒有太大的意義。因此在相關的關聯操作時,往往會加上限制條件,再進行關聯運算。

兩個表格的“卡笛生乘積”形式 SELECT <欄位名11>, <欄位名12>,…, <欄位名1m> , <欄位名21>, <欄位名22>,…, <欄位名2n>, FROM <表格名1>, <表格名2>

等值關聯(Equal Join) SELECT … FROM <表格名1>, <表格名2> WHERE <表格名1.欄位名1> = <表格名2.欄位名2>;

列出員工編號、員工姓名、部門名稱與部門所在地

非等值關聯 非等值關聯就是指關聯條件中不使用“ = ”運算子的關聯運算。非等值關聯能夠使用的比較運算子包括 != 、 < 、 > 、<= 、>= 、 BETWEEN… AND 和 LIKE 等。

列出員工編號、員工姓名,以及 “不屬於” 他的部門名稱與部門所在地

自身關聯 自身關聯可以把一個表格看成兩個完全相同的表格 (副本),然後再對這兩個表格在相關欄位上進行關聯,其關聯方式與多表格關聯完全相同。 如:員工vs.管理者、主課程vs.先修課程

表格自身關聯 SELECT … FORM <表格名> <表格別名1>, <表格名> <表格 別名2> WHERE <表格別名1.欄位名1> = <表格別名2.欄位名2>; 其中:<欄位名1> 和 <欄位名2> 標記自關聯表中的兩個不同欄位,這兩個欄位要求有相同的資料型態和寬度。

查詢每個員工其上司的姓名

關聯 (Join) 的標準語法: SELECT … FROM <表格名1> Join <表格名2> ON <表格名1.欄位名1> = <表格名2.欄位名2>; 不過,經過分析,Join指令所執行的操作,其效率不如採用具相同查詢效果之一般Select查詢指令。因此,若非必要,不要採用Join之查詢語法。

外部關聯 外部關聯它不僅傳回兩個或兩個以上的表格中能夠完全匹配的資料列外,還傳回關聯表格中無法完全匹配的資料列。

Outer Join (外部關聯) 的種類 左外部關聯(Left Outer Join) 右外部關聯(Right Outer Join) 全外部關聯(Full Outer Join)

表格外部關聯指令 指令格式 1: 指令格式 2: SELECT … FROM <表格名1>, <表格名2> WHERE <表格名1.欄位名1> = <表格名2.欄位名2> (+) | <表格名1.欄位名1 > (+) = <表格名2.欄位名2>; 指令格式 2: FROM <表格名1> Left/Right/Full Outer Join <表格名2> ON <表格名1.欄位名1> = <表格名2.欄位名2>;

先對表格emp插入一組資料 “Jacy” 以與下列的 “dept” 表格做測試

左外部關聯(Left Outer Join) 這個關聯運算會把「左方關聯表」的所有資料值輸出,如果左關聯表 R1 中找不到可匹配的 R2 值組時,則會以虛值(Null) 代替 R2 的值組再與 R1 的值關聯運算。

右外部關聯(Right Outer Join) 這個關聯運算會把「右方關聯表」的所有資料值輸出,如果右關聯表 R2 中找不到可匹配的 R1 值組時,則會以虛值(Null) 代替 R1 的值組再與 R2 的值做關聯(Join) 運算。

全外部關聯(Full Outer Join) 這個關聯運算會把「左方關聯表」與「右方關聯表」的所有資料值輸出,如果左關聯表 R1 或右關聯表 R2 找不到可匹配的值組做關聯運算時,則會以虛值(Null) 代替。

▊分組查詢 利用 “Group by” 子句可以對分組資料進行分組運算。

利用Group by子句對前述emp表格依 “部門編號” 計算每個部門的平均薪資。

利用Group by子句對上述表格依 “部門編號” 與 “員工獎金” 計算每個部門的平均薪資。

在使用Group by時需注意: Select 子句中所出現的欲查詢欄位項目 (除了群聚函數以外),均需出現在Group by子句中,否則會出現錯誤!!

計算每位上司所直接管理的員工有幾位。(這裡所謂的”上司”,並非職稱(JOB)為’MANAGER’的員工)

利用 “Having” 子句可以對 “Group by” 子句所分組運算的結果進行分組條件檢查。

利用Having子句對依 “部門編號” 分組計算之每個部門的平均薪資做檢查,列出平均薪資大於2000的部門編號。

查詢有哪些部門,其 “部門的平均薪資超過全部員工的平均薪資”。

▊子查詢 所謂子查詢是指在 WHERE 子句或 HAVING 子句的條件中出現的查詢。相對地,稱包含子查詢的查詢為父查詢或主查詢。因為子查詢使得一系列簡單查詢可以構成複雜的查詢,因此子查詢也稱為嵌套查詢。

子查詢-SELECT…FROM…WHERE WHERE <欄位名或欄位運算式> <比較運算子> ( SELECT … FROM <表格名> WHERE <條件> );

單一記錄值子查詢 此類子查詢只傳回單一記錄值,因此所有邏輯運算子 (如 >,=,< 等等) 都可以用。 此傳回的子查詢單一記錄值需限定欄位,且與父查詢的相對應欄位內的所有值做比較。

多記錄值子查詢 此類子查詢傳回不是單一值,而是某特定欄位的所有資料。這種查詢必須用多值比較運算子與主查詢相連繫。 請找出在部門編號為10,且職務與部門編號為30相同的員工姓名與其職務。

[NOT] IN 表示 [不] 屬於某集合中成員的關係 SELECT ... FROM <表格名1> WHERE <表格名1.欄位名1> [NOT] IN (SELECT <表格名2.欄位名2> FROM <表格名2> WHERE <表格名2.欄位名3> = 運算式);

請找出在部門編號為10,且職務與部門編號為30不同的員工姓名與其職務。

[NOT] ANY:將主查詢中的某一個值與子查詢傳回值中的所有值進行比較,只要有任一比較結果合乎條件即列出。 請找出在部門編號為10,且職務與部門編號為30相同的員工姓名與其職務。

[NOT] ALL:將主查詢的某一個值與子查詢傳回值中的每個值進行比較,需所有比較結果合乎條件才將之列出。 請找出薪資比部門編號為30的員工高之所有其它員工的編號、姓名與其薪資。

[NOT] EXISTS:EXISTS 表示子查詢結果至少有一列資料存在時條件成立。而 NOT EXISTS 表示子查詢結果不存在任何資料時條件成立。 當子查詢條件成立(即:有回傳結果)時,將父查詢的動作加以執行;若不成立,且父查詢的動作不執行。

查詢所有員工的編號、姓名,薪資

多欄位子查詢 子查詢中不但可以查出一個欄位的值,還可以查多個欄位。子查詢傳回欄位的個數及型態必須要與主查詢欄位的個數和型態匹配。 請找出在部門編號為10,且上司與工作性質與部門編號為30之員工相同的員工姓名與其職務。

相關子查詢 相關子查詢是指子查詢的 WHERE 條件子查詢中,有引用主查詢的查詢資料。反之我們稱之不相關子查詢。 查詢沒有員工的部門,並將部門編號與部門名稱列出

▊集合查詢 每一個查詢都能得到一組的表格記錄。若欲將多個查詢的結果合併為一個結果表格,可以利用集合運算來達成。 ORACLE 系統提供了聯集(UNION)、交集(INTERSECT) 與差集(MINUS) 三種集合運算。 從事集合查詢的欄位,其個數與型態均需相對應

聯集(UNION) 聯集(UNION) 是將兩個或兩個以上的所有查詢結果合併成一個新的結果,若有列資料分屬於兩個或兩個以上的查詢結果,則只取其中一列資料。

交集(INTERSECT) 交集(INTERSECT) 是將兩個或兩個以上的查詢結果中共有的資料列組成新的結果。

差集(MINUS) 差集(MINUS) 是將前一個查詢結果的資料列去掉屬於後一個查詢結果的資料列所得的結果。