《空間數(shù)據(jù)查詢》PPT課件.ppt_第1頁(yè)
《空間數(shù)據(jù)查詢》PPT課件.ppt_第2頁(yè)
《空間數(shù)據(jù)查詢》PPT課件.ppt_第3頁(yè)
《空間數(shù)據(jù)查詢》PPT課件.ppt_第4頁(yè)
《空間數(shù)據(jù)查詢》PPT課件.ppt_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第5章 空間數(shù)據(jù)查詢,5.1 對(duì)象查詢 5.1.1 對(duì)象 5.1.2 對(duì)象查詢 5.2 SQL查詢 5.2.1 通過“選擇”來(lái)查詢 5.2.2 通過“選擇SQL”查詢 5.2.3 “SQL選擇”的操作示例,5.2.4 SQL選擇 5.2.5 “選擇列”字段 5.2.6 “條件”字段 5.2.7 “按列排序”字段 5.2.8 “按列分組”字段 5.2.9 聚合函數(shù) 5.3 習(xí)題5,5.1 對(duì)象查詢,5.1.1 對(duì)象 1. 點(diǎn)對(duì)象 :點(diǎn)是有特定的位置,維數(shù)為零的物 體 。 2. 線對(duì)象:是GIS中非常常用的維度為一的空 間組分,表示對(duì)象和它們邊界的空間屬性,由一 系列坐標(biāo)表示。 3. 多邊形對(duì)象 :面狀實(shí)體也稱為多邊形,是對(duì) 湖泊、島嶼、地塊等一類現(xiàn)象的描述。通常在數(shù) 據(jù)庫(kù)中由一封閉曲線加內(nèi)點(diǎn)來(lái)表示。,5.1.2 對(duì)象查詢,圖5-1 選擇好記錄的窗口,圖5-2 “瀏覽表”對(duì)話框,圖5-3 查詢結(jié)果瀏覽窗口,5.2 SQL查詢,SQL(Structure Query Language)是結(jié)構(gòu)化查詢語(yǔ)言,是一套強(qiáng)大的查詢系統(tǒng)。語(yǔ)言簡(jiǎn)單、指令簡(jiǎn)潔、操作簡(jiǎn)單、功能強(qiáng)大,被廣泛運(yùn)用在相互關(guān)聯(lián)的數(shù)據(jù)庫(kù)中,并能完成十分復(fù)雜的查詢和選擇。,5.2.1 通過“選擇”來(lái)查詢,圖5-4 “查詢”菜單,圖5-5 “選擇”對(duì)話框,1. 從表中選擇記錄 2. 滿足條件 3. 存結(jié)果于表 4. 結(jié)果排序按列 5. 瀏覽結(jié)果 6. 保存模板 7. 載入模板,圖5-6 “表達(dá)式”對(duì)話框,5.2.2 通過“選擇SQL”查詢,1. 選擇列 2. 從表 3. 條件 4. 按列分組 5. 按列排序,6. 結(jié)果放入表 7. 瀏覽結(jié)果 8. 使用下拉列表 9. 保存模板 10. 載入模板,圖5-7 “SQL選擇”對(duì)話框,5.2.3 “SQL選擇”的操作示例,例如:查詢并顯示出人口大于3000萬(wàn)的省份,圖5-9 滿足條件的瀏覽窗口,圖5-10 人口3000萬(wàn)的省份單獨(dú)顯示,圖5-11 不排序 圖5-12 升序 圖5-13 降序,5.2.4 SQL選擇, 打開希望查詢的表(倘若尚未打開的話)。 選擇“查詢”“SQL選擇”。 打開一個(gè)地圖窗口或一個(gè)瀏覽窗口(若用戶想看到查詢結(jié)果)。 MapInfo自動(dòng)選中結(jié)果表中所有行。 若希望對(duì)查詢表做一個(gè)永久拷貝,選擇“文件”“另存為”。,5.2.5 “選擇列”字段,1. 計(jì)算派生列 “SQL選擇”可以計(jì)算派生列并將其保存在結(jié)果表中。 【例5-1】顯示一個(gè)進(jìn)行加法運(yùn)算的派生列表達(dá)式,它將兩個(gè)數(shù)值型列相加。例中假設(shè)Purchase92和Purchase93都是數(shù)值型字段。 選擇列:Purchase 92 Purchase 93,2. 選擇顯示在結(jié)果表中的列 結(jié)果表中只包括在“選擇列”域中輸入的一個(gè)或多個(gè)列。這一點(diǎn)在表中有許多列,而只希望使用其中少數(shù)列(可能是因?yàn)樵谄聊簧弦淮沃荒茱@示其中少數(shù)列)時(shí)很有用。 輸入一系列列名: 在“從表”域中輸入表名(若還未輸入的話)。可以直接輸入表名或是在“表”下拉式列表中選擇表名。 單擊“選擇列”域,該域中出現(xiàn)插入符。 如果該域中有星號(hào),先用Backspace鍵或Delete鍵將其刪除?!斑x擇列”域中可以含有一個(gè)星號(hào)或者一系列列名。 在對(duì)話框右側(cè)的“列”下拉列表中選擇一個(gè)列名。MapInfo將該列名復(fù)制到“選擇列”域中。 如果希望查詢中包含多個(gè)列,可以在“列”下拉式列表中選擇其它列名。在選擇其它列名時(shí),MapInfo自動(dòng)插入逗號(hào)以分隔列名。,3. 使用“SQL選擇”對(duì)話框的“選擇列”字段 使用“選擇列”域來(lái)指定查詢結(jié)果表中應(yīng)該出現(xiàn)哪些列。若想結(jié)果表中含有與原始表相同的列集,在“選擇列”域中輸入一個(gè)星號(hào)(*)。 若想結(jié)果表中含有的列集與原始表不同,刪除星號(hào),并輸入用逗號(hào)分隔的一系列列名或表達(dá)式,如下所述?!斑x擇列”域可包含星號(hào)或一系列列表達(dá)式,但二者不可得兼。在填寫“選擇域”之前,請(qǐng)先填好“從表”域。 若查詢涉及多個(gè)表,每個(gè)列名前必須加上表名,用句點(diǎn)分開表名和列名。這樣,若你執(zhí)行涉及兩個(gè)表的查詢,其中一個(gè)是“Canada”表,用戶希望查詢包括“Canada”表的“Population”列,則必須使用列表達(dá)式Canada.Population。無(wú)論何時(shí)使用兩個(gè)或多個(gè)表,“列”下拉式列表會(huì)自動(dòng)將表名插入到列名前。,5.2.6 “條件”字段,1. 按行序連接表 若兩個(gè)表沒有公共列,還可以按照記錄的順序進(jìn)行表連接。若知道一個(gè)表的第一條記錄對(duì)應(yīng)于另一個(gè)表的第一條記錄,或更一般地說(shuō),一個(gè)表的第N條記錄對(duì)應(yīng)于另一個(gè)表的第N條記錄,就可以通過引用一個(gè)特殊的名為RowID的列將兩個(gè)表連接。 RowID列含有代表著表中每個(gè)記錄的行號(hào)的整數(shù)。因此,任何表的第一條記錄的RowID值為1,第二條記錄的RowID值為2,依此類推。 要連接兩個(gè)表使得MapInfo匹配兩個(gè)表的第N條記錄,指定一個(gè)如下形式的“條件”表達(dá)式。 條件: TABLE_1.RowID = TABLE_2.RowID,2. 按地理關(guān)系連接表 若兩個(gè)表有圖形對(duì)象,MapInfo能根據(jù)那些對(duì)象之間的空間關(guān)系來(lái)連接表 。,圖5-10 對(duì)象包蘊(yùn)關(guān)系,3. 連接兩個(gè)或多個(gè)表 MapInfo能利用該公共字段將兩表連接。,表5-1 Counties表,表5-2 Orders表,方法: 選擇列:* 從表:Counties, Orders 條件: Counties.CountyName = Orders.County,表5-1 Counties表,表5-2 Orders表,4. 執(zhí)行子選擇 MapInfo允許SQL選擇中有子選擇。子選擇是被放在“SQL選擇”對(duì)話框中的“條件”域內(nèi)的選擇語(yǔ)句。 【例5-9】選擇states中超過4,000,000人的所有城市。 選擇列* 從表 cities 條件 obj within any(select obj from states where Pop_1990 4000000),5. 設(shè)置過濾規(guī)則 過濾條件是常用于比較列值與其它值的邏輯表達(dá)式。例如,下面的過濾條件使用大于運(yùn)算符()來(lái)檢查Order_Amount列的值是否大于100。 “條件”:Order_Amount 100 如果查詢包括上述“條件”子句,MapInfo只選擇Order_Amount值大于100的行。 如果表達(dá)式被詞and或or隔開,“條件”子域可包含兩個(gè)或多個(gè)邏輯表達(dá)式。如果表達(dá)式被詞and連接,MapInfo只選擇滿足全部?jī)蓚€(gè)條件的行。如果表達(dá)式被詞or連接,MapInfo選擇滿足任一條件的所有行。,6. 使用“SQL選擇”對(duì)話框的“條件”字段 “條件”域有好幾個(gè)作用。某些情況下,用戶可能要使用一個(gè)條件表達(dá)式來(lái)過濾表,以便只看到那些滿足一定準(zhǔn)則的行。在其它情況下,可使用條件域來(lái)指定關(guān)系連接,從而查詢能包括二個(gè)或多個(gè)表中的列。 注意:不能在“條件”域中使用聚合函數(shù)。,5.2.7 “按列排序”字段,1. 選擇升序或降序排序 缺省情形下MapInfo按升序?qū)Ρ磉M(jìn)行排序。要將字段按降序排以使大數(shù)字排在小數(shù)字前,可以在“按列排序”域中將desc放在列名字前。 【例5-12】查詢World表時(shí),以下的Order By排序準(zhǔn)則。按列排序:Population desc將該表按Population字段進(jìn)行降序排序。 選擇列: * 從表: City_1K 按列排序 State, Population desc,2. 使用“按列排序”字段排序結(jié)果表 在“SQL選擇”對(duì)話框中使用“按列排序”域,可將結(jié)果表的記錄排序。排序影響在瀏覽窗口中記錄從上而下出現(xiàn)的順序。 【例5-13】按照State列對(duì)City_1K表排序。 結(jié)果表按州名排序;但是,在California組內(nèi)各行中,城市并未排序,San Francisco出現(xiàn)在Anaheim之上。要改正這一問題,可以在“按列排序”域中輸入兩個(gè)列名: 選擇列: * 從表: City_1K 按列排序: State, City,5.2.8 “按列分組”字段,1. 按列分組示例 【例5-14】設(shè)想有一個(gè)顧客訂單表。該表中每一行表示單個(gè)訂單。表中一列包含訂貨銷售代理的名字,另一列含有顧客名字,還有一列包含訂貨量。 對(duì)每個(gè)銷售代理,可找出: 該代理的訂單數(shù)目。 該代理的平均訂貨量。 該代理的總訂貨量。 以下SQL選擇查詢產(chǎn)生所需結(jié)果: 選擇列 Sales_Rep, count(*), average(AMOUNT), sum(AMOUNT) 從表 Orders 按列分組 Sales_Rep,2. 使用“按列分組”字段分類匯總結(jié)果表 【例5-15】若有一個(gè)顧客數(shù)據(jù)庫(kù),并按州名列分組,MapInfo會(huì)將所有得克薩斯州的顧客放入一組,所有加利福尼亞州的顧客放入另一組,等等。然后,MapInfo計(jì)算每一組的聚合信息(總計(jì)、平均等)。 指定分類匯總標(biāo)準(zhǔn): 在“按列分組”域中,輸入MapInfo用于計(jì)算分類匯總的列的列名或列號(hào)。 例如,若要按州總計(jì)顧客表,可輸入表示顧客所在州的列的列名(如StateName)。 在“選擇列”域中,輸入同一列名(如StateName)。 在“選擇列”域中,輸入一個(gè)或多個(gè)運(yùn)算符(Sum、Count Avg、Min或Max)。請(qǐng)記住用逗號(hào)分隔開聚合運(yùn)算符。,5.2.9 聚合函數(shù),MapInfo提供以下聚合函數(shù): Count(*):計(jì)算一組中記錄總數(shù)。它簡(jiǎn)單地使用*作參數(shù),因?yàn)樗鼞?yīng)用到整條記錄,而非某個(gè)特定字段。 Sum(表達(dá)式):計(jì)算一組中所有記錄的表達(dá)式總計(jì)值。 Avg(表達(dá)式):計(jì)算一組中所有記錄的表達(dá)式平均值。 Max(表達(dá)式):找出一組中所有記錄的表達(dá)式最大值。 Min

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論