【ArcGIS】欄位屬性篩選Select by attributes – SQL的in函式

一、SQL的in()函式

欄位 in ( 值1, 值2, 值3 … )

SQL中的 in () 語法可同時選取多個不同值的資料,其基本語法為 欄位 in ( 值1, 值2, 值3 … ),括號內可放多個要選取的值,不同值之間以逗號隔開。只要資料欄位有符合任一個值就會被選取。

此函式跟下列用法相同:

欄位 = 值1 OR 欄位 = 值2 OR 欄位 =值3 …

若要選取的值很多,則使用in()函式會比使用許多OR來的方便。

二、in函式範例

假設今天想要同時篩選出資料庫中name等於NBA或UN或ONE的資料,就可以使用in()把NBA、UN、ONE都包起來,語法和選取結果如下。

"name" in ( 'NBA', 'UN' , 'ONE')
SQL in函式範例
SQL in函式範例

三、在GIS中使用SQL的in函式

由上例可見 in () 和 OR 基本上是可以達到同樣的效果,當選取的值較多時用 in () 會不會比用OR來的方便,這就見仁見智了。至於 in () 括號中如果要輸入很多個值有沒有比較快的方法? 其實方法也是有的,但是有沒有比較方便就一樣是見仁見智了,方法簡述如下 :

1. 開啟圖徵的properties / Symbology / 左列選 Category

2. 將所要選取的值選取並group起來

3. 在label欄點一下剛才group的那些值,反白複製貼到記事本,用取代功能以 ‘,’取代;(單引號-逗號-單引號取代分號)

4. 在記事本頭尾再各加一個單引號

5. 將記事本的這段文字貼到 in () 的括號中。

GIS中使用SQL的in函式範例
GIS中使用SQL的in函式範例

小額支持鍾肯尼

如果我的文章有幫助到你,歡迎你點這裡開啟只要40元的小額贊助連結,可以贊助我一杯咖啡錢;我會更有動力繼續寫作,幫助大家解決更多問題。

發佈留言