Java库关联查询课件

PPT
  • 阅读 50 次
  • 下载 0 次
  • 页数 30 页
  • 大小 191.501 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
Java库关联查询课件
可在后台配置第一页与第二页中间广告代码
Java库关联查询课件
可在后台配置第二页与第三页中间广告代码
Java库关联查询课件
可在后台配置第三页与第四页中间广告代码
Java库关联查询课件
Java库关联查询课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 30
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
文本内容

【文档说明】Java库关联查询课件.ppt,共(30)页,191.501 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-45166.html

以下为本文档部分文字说明:

第二篇Java資料庫關聯查詢•資料庫(Database)設計的重點考量為資料儲存(DataStore)與資料查詢(DataQuery),儲存資料要井然有序,查詢資料要迅速有效,前者將於爾後詳細討論,本篇將專業討論“如何以Java程式使用SQL字串作迅速有效地資

料查詢?”。第三章基礎操作(BasicOperations)3-1簡介•本章將針對現今資料庫使常用的資料錄關聯模型(RecordRelationalModel),在資料查詢上,作有系統地探討,以Access2007為範例資料庫、以Java為程式語言、以SQL為查詢語言,執行各類基礎查詢。3-3

SQL查詢基礎架構(BasicQueryStructure)•關聯式資料庫(RelationalDatabase)是由多個資料表(Relations)組合而成,每一資料表都有一個獨一無二的名稱,其查詢語言SQL是由三組子句(Clauses)所組成:欄位選取子句

(selectClause)、資料表選取子句(fromClause)、與條件子句(whereClause)。3-5欄位選取查詢(selectClause)•關聯式資料庫(RelationalDatabase)是由數個資料表(RelationalTable)所組成,表格為資料錄(Re

cord)形態,由數個欄位(Columns)組成。欄位與欄位間、表格與表格之間有其一定的數學關係,依照這些關係,我們可精準地執行指定之查詢。範例04:設計Java程式Select_04.java,使用資料庫Bank03.a

ccdb之資料表Deposit(如圖3-3-4),試請“印出欄位branch_name之各資料內容”。•01importjava.sql.*;••02publicclassSelect_04{•03publicstaticvoidmain(String[]args){•04StringJDri

ver="sun.jdbc.odbc.JdbcOdbcDriver";•05StringconnectDB="jdbc:odbc:Bank03";••06try{•07Class.forName(JDriver);•08}•09

catch(java.lang.ClassNotFoundExceptione){•10System.out.println("ForName:"+e.getMessage());•11}•範例04:續•12try{•13Connectioncon=DriverManager.getConne

ction(connectDB);•14Statementstmt=con.createStatement();•15ResultSetrs=stmt.executeQuery("SELECTbranch_name"+•"FROMDepos

it");••16System.out.println("branch_name");•17System.out.println("-------------");•18while(rs.next()){•19System.out.println(rs.getString("branch_nam

e"));•20}•21stmt.close();•22con.close();•23}•24catch(SQLExceptione){•25System.out.println("SQLException:"+e.getMessage());•26}•27}•

28}範例05:參考範例04,設計Java程式Select_05.java,使用資料庫Bank03.accdb之資料表Deposit(如圖3-3-4),試請“印出欄位branch_name之各資料內容,使用distinct”。•(1)SQL查詢句設計為:•SELECTdistinct

branch_name•FROMDeposit••(2)設計程式Select_05.java(參考本書CD檔案)。範例06:參考範例05,設計Java程式Select_06.java,使用資料庫Bank03.accdb之資料表Deposit(如圖3-3-4),試請“印出欄位br

anch_name之各資料內容,使用all”。•(1)SQL查詢句設計為:•SELECTallbranch_name•FROMDeposit••(2)設計程式Select_06.java(參考本書CD檔案)。範例07

:設計Java程式Select_07.java,使用資料庫Bank03.accdb之資料表Deposit(如圖3-3-4),試請“印出欄位branch_name、customer_name之各資料內容”。•(1)SQL查詢句設計為:•SELECTbranch_name,

customer_name•FROMDeposit••(2)設計程式Select_07.java(參考本書CD檔案)。範例08:設計Java程式Select_08.java,使用資料庫Bank03.accdb之資料表Deposit(如圖3-3-4),試請“於

存款額(balance)配發5%利息,印出欄位branch_name、customer_name、balance之各資料內容”。(1)SQL查詢句設計為:•SELECTbranch_name,customer_name,balanc

e*1.05asnewbalance•FROMDeposit•其中newbalance為配發5%利息後新得之存款欄位名稱。•(2)設計程式Select_08.java(參考本書CD檔案)。3-6條件選取(whe

reClause)•條件選取支援選擇性資料之查詢,設定特定條件,篩除不合條件的資料,只選取滿足條件的資料。常用之條件選取有:單一條件選取(如範例09)、多個條件選取(如範例10)、中間條件選取(如範例11)。範例09:設計Java程式Wh

ere_09.java,使用資料庫Bank03.accdb之資料表Borrow(如圖3-3-1),試請“印出分行(branch_name)Perryridge之各借款帳戶帳號(loan_number)與借款額(amou

nt)”。•(1)SQL查詢句設計為:•SELECTloan_number,amount•FROMBorrow•WHEREbranch_name=’Perryridge’••(2)設計程式Where_09.java(如本書CD檔案)範例10:設計Java程式Where

_10.java,使用資料庫Bank03.accdb之資料表Borrow(如圖3-3-1),試請“印出分行(branch_name)Perryridge、借款額大於2500之各借款帳戶帳號(loan_number)與借款額(am

ount)”。•(1)SQL查詢句設計為:•SELECTloan_number,amount•FROMBorrow•WHEREbranch_name=‘Perryridge’andamount>2500••(2)設計程式Where_10.java(參考本書CD檔案)。範例11:設計Java程式

Where_11.java,使用資料庫Bank03.accdb之資料表Borrow(如圖3-3-1),試請“印出借款額大於等於2500、和小於等於3000之各借款帳戶帳號(loan_number)與借款額(amount)”。•(1)SQL查詢句設計1為:•SELECTloan_num

ber,amount•FROMBorrow•WHEREamountbetween2500and3000••(2)SQL查詢句設計2為:•SELECTloan_number,amount•FROMBorrow•W

HEREamount<=2500andamount>=2500••(3)設計程式Where_11.java(參考本書CD檔案)。3-7多個資料表關聯選取(fromClause)•一個有效率的機構總是依賴一個分工的組織,資料庫也是一樣,以多個不同功能的資料表奠定分工的基礎。••如本章範例資料庫Ba

nk03.accdb,存款部門建立資料表Deposit、借款部門建立資料表Borrow、公關部門建立資料表Customer、組織部門建立資料表Branch。各部門各依資料表分工作業,必要時亦可相互支援合作,

即為本節之多個資料表關聯選取。••當將兩個資料表關聯操作時,兩個資料表必須至少有一個相同名稱的欄位,我們可以程式關聯、或以手動關聯執行之,筆者偏向手動關聯,因可降低系統的負擔。範例12:設計Java程式Tables_12.java,使用資料庫Bank03.accd

b之資料表Borrow(如圖3-3-1)與Deposit(如圖3-3-4),試請“印出所有持有借款帳戶的客戶(customer_name)及其居住的城市(customer_city)”。•(1)SQL查詢句設計為:•SELECTBorrow.customer_name,Customer

.customer_city•FROMBorrow,Customer•WHEREBorrow.customer_name=Customer.customer_name•因是同時使用兩個資料表,在欄位左端需加置所屬資料表名稱,否則系統將無所適從選擇正確的資料表。••(2)設計程式Tables_1

2.java(如本書CD檔案)範例13:與範例12相同,設計Java程式Tables_13.java,使用資料庫Bank03.accdb之查詢表Borrow_Deposit,試請“印出所有持有借款帳戶的客

戶(customer_name)及其居住的城市(customer_city)”。•(1)SQL查詢句設計為:•SELECTBorrow.customer_name,Customer.customer_city•FROMBorrow_Customer•

•(2)設計程式Tables_13.java(參考本書CD檔案)。3-8更名操作(RenameOperation)•在操作過程中,更改名稱(Rename)可將繁雜的名稱整理成精簡的名稱,增加可讀性與應用性,SQL提供更名機制“as”,可更改資料表(Relations)

或欄位(Attributes)的名稱。同時也可用於欄位計算後之新名稱(如範例08)。範例14:設計Java程式Rename_14.java,使用資料庫Bank03.accdb之查詢表Borrow_Deposit,試請“印出下列SQL查詢句之執行結果”。•(1)SQL查詢句設計為:•SELEC

Tcustomer_nameasclient_name,customer_cityascity•FROMBorrow,Customer•WHEREBorrow.customer_name=Customer.customer_nameand•branch_name=‘Perr

yridge’••為了降低系統負擔,可以查詢表Borrow_Customer取代資料表Borrow,Customer,並將SQL字串改為下列字串。••(2)SQL查詢句設計為:•SELECTcustomer_nameasclient_na

me,customer_cityascity•FROMBorrow_Customer•WHEREbranch_name=‘Perryridge’••(3)設計程式Rename_14.java(參考本書CD檔案):3-9資料組變數(TupleVariables)•

有些查詢問題牽涉到資料組間之關係,極不容易解答,但以資料組變數之輔助,則可輕易解決。範例15:設計Java程式Variables_15.java,使用資料庫Bank03.accdb之資料表Deposit,試請“印出其分行名稱(

branch_name)與客戶名稱(customer_name),如果有重複之分行名稱,則選取存款額(amount)較大的資料組”。•(1)SQL查詢句設計為:•SELECTdistinctT.branch_name,T.custome

r_name•FROMDepositasT,DepositasS•WHERET.balance>S.balance••(2)設計程式Variables_15.java(參考本書CD檔案):3-10字串操作(StringOperations)•在SQL字串中,有些符號具有特定意義,尤其是字串括號

、暫離符號、與模糊取代(like)之用法,常用格式有:•1、單引號(SingleQuote):SQL字串以單引號括住字串之兩端,如‘Itismybook’。•2、雙引號(DoubleQuote):如果字串中已有單號成員,如It’smybook,則以雙引號取代之,如‘It”smyb

ook’。•3、百分號(Percent)%:用於次字串(SubString)之模糊取代(like),如‘downtown’=‘down%’,其中‘%’=‘town’。•4、底線(Underscore)_:用於字元(Characte

r)之模糊取代(like),如‘down_own’=‘downtown’,其中‘_’=‘t’;‘down___n’=‘downtown’,其中‘___’=‘tow’。•5、右斜線\:視為暫離符號(Escape),當字串中有特殊符號時,為了避免誤會,SQL提

供右斜線\作暫離,如‘10%ofpeople’應改為‘10\%ofpeople’。範例16:設計Java程式String_16.java,使用資料庫Bank03.accdb之查詢表Deposit_Customer,試請“印出

在分行(branch_name)‘%rryr%’所有持有借款帳戶的客戶(customer_name)及其居住的城市(customer_city)”。•(1)SQL查詢句設計為:•SELECTcustomer_name,customer_city•FROMBorrow_Custo

mer•WHEREbranch_namelike‘%rryr%’••(2)設計程式Strein_16.java(參考本書CD檔案):3-11排序操作(OrderingtheDisplayofTuples)•SQL提供指令“orderby”指定某欄位(

Attribute)為排序欄位,依其中的內容執行資料組(Tuples)排序(Ordering)。範例17:設計Java程式Order_17.java,使用資料庫Bank03.accdb之查詢表Borrow_Customer,試請“印出

Perryridge分行(branch_name)之所有客戶名稱(customer_name),並依客戶名稱之字母順序作排序”。•(1)SQL查詢句設計為:•SELECTcustomer_name•FROMBorrow

_Customer•WHEREBranch_name=‘Perryridge’•ORDERBYcustomer_name••(2)設計程式Order_17.java(參考本書CD檔案)範例18:設計Java程式Order_18.java,使用資料庫Bank03.accdb之

查詢表Borrow_Customer,試請“印出下列SQL之執行結果”。•(1)SQL查詢句設計為:•SELECTcustomer_name•FROMBorrow_Customer•WHEREBranch_name=‘Perryridge’•ORD

ERBYcustomer_namedesc••(2)設計程式Order_18.java(參考本書CD檔案)。範例19:設計Java程式Order_19.java,使用資料庫Bank03.accdb之資料表Borrow,試

請“印出下列SQL之執行結果”。•(1)SQL查詢句設計為:•SELECT*•FROMBorrow•ORDERBYamountasc,loan_namedesc••(2)設計程式Order_19.java(參考本書CD檔案)。3-12習題(Exer

cises)•01、查詢語言SQL是由那三組子句(Clauses)所組成?•02、SQL執行合併相同資料時,其關鍵指令為何?•03、SQL強迫執行所有資料時,其關鍵指令為何?•04、如有多個條件時,SQL以何者關鍵指令

執行邏輯連接?•05、如果條件是取範圍中間值,則使用何者關鍵指令?•06、當將兩個資料表關聯操作時,其必要條件為何?•07、以手動關聯操作有何意義?•08、在操作過程中,更改名稱(Rename)有何意義?其關鍵指令為何?•09、資料組變數(T

upleVariable)有何意義?•10、在SQL字串中,那些常用符號具有特定意義?•11、如何執行資料組(Tuples)排序(Ordering)?

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?