当前位置:文档之家› 空间数据查询-

空间数据查询-

若想结果表中含有的列集与原始表不同,删除星号, 并输入用逗号分隔的一系列列名或表达式,如下所述。 “选择列”域可包含星号或一系列列表达式,但二者不可 得兼。在填写“选择域”之前,请先填好“从表”域。
若查询涉及多个表,每个列名前必须加上表名,用句 点分开表名和列名。这样,若你执行涉及两个表的查询, 其中一个是“Canada”表,用户希望查询包括“Canada”表 的“Population”列,则必须使用列表达式 Canada.Population。无论何时使用两个或多个表,“列” 下拉式列表会自动将表名插入到列名前。
5.1.2 对象查询
图5-1 选择好记录的窗口
图5-2 “浏览表”对话 框
图5-3 查询结果浏览窗口
5.2 SQL查询
SQL(Structure Query Language)是 结构化查询语言,是一套强大的查询系 统。语言简单、指令简洁、操作简单、 功能强大,被广泛运用在相互关联的数 据库中,并能完成十分复杂的查询和选 择。
表5-1 Counties表
CountyName Foster Williamette Mason
Pop_1980 23,789 35,456 147,101
Pop_1990 27,135 34,846 151,201
Order #
表5-2 Orders表
Customer
County
478001
Francis
第5章 空间数据查询
5.1 对象查询 5.1.1 对象 5.1.2 对象查询
5.2 SQL查询 5.2.1 通过“选择”来查询 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 聚合函数 5.3 习题5
条件: TABLE_1.RowID = TABLE_2.RowID
2. 按地理关系连接表 若两个表有图形对象,MapInfo能根
据那些对象之间的空间关系来连接表 。
图5-10 对象包蕴关系
3. 连接两个或多个表 MapInfo能利用该表5-公2 Or共ders表字段将两表连接。
表5-1 Counties表
5.2.4 SQL选择
① 打开希望查询的表(倘若尚未打开的话)。 ② 选择“查询”→“SQL选择”。 ③ 打开一个地图窗口或一个浏览窗口(若用
户想看到查询结果)。 ④ MapInfo自动选中结果表中所有行。 ⑤ 若希望对查询表做一个永久拷贝,选择
“文件”→“另存为”。
5.2.5 “选择列”字段
1. 计算派生列 “SQL选择”可以计算派生列并将其
⑤ 如果希望查询中包含多个列,可以在“列”下拉式列表中 选择其它列名。在选择其它列名时,MapInfo自动插入逗号以 分隔列名。
3. 使用“SQL选择”对话框的“选择列”字 段
使用“选择列”域来指定查询结果表中应该出现哪些 列。若想结果表中含有与原始表相同的列集,在“选择列” 域中输入一个星号(*)。
5.2.1 通过“选择”来查询
图5-4 “查询”菜 单
图5-5 “选择”对话 框
1. 从表中选择记录 2. 满足条件 3. 存结果于表 4. 结果排序按列 5. 浏览结果 6. 保存模板 7. 载入模板
图5-6 “表达式”对话框
5.2.2 通过“选择SQL”查询
1. 选择列 2. 从表 3. 条件 4. 按列分组 5. 按列排序
6. 结果放入表 7. 浏览结果 8. 使用下拉列表 9. 保存模板 10. 载入模板 图5-7 “SQL选择”对话 框
5.2.3 “SQL选择”的操作示例
例如:查询并显示出人口大于3000万的省份
图5-9 满足条件的浏览窗口 图5-11 不排序 图5-12 升序 图5-13 降序
图5-10 人口>3000万的省份单独显示
保存在结果表中。 【例5-1】显示一个进行加法运算的派生列
表达式,它将两个数值型列相加。例中 假设Purchase92和Purchase93都是数值型 字段。 选择列:Purchase 92 Purchase 93
2. 选择显示”域中输入的一个或多个列。 这一点在表中有许多列,而只希望使用其中少数列(可能是因 为在屏幕上一次只能显示其中少数列)时很有用。
5.2.6 “条件”字段
1. 按行序连接表
若两个表没有公共列,还可以按照记录的顺序 进行表连接。若知道一个表的第一条记录对应于 另一个表的第一条记录,或更一般地说,一个表 的第N条记录对应于另一个表的第N条记录,就可 以通过引用一个特殊的名为RowID的列将两个表连 接。
RowID列含有代表着表中每个记录的行号的 整数。因此,任何表的第一条记录的RowID值为1, 第二条记录的RowID值为2,依此类推。 要连接两个表使得MapInfo匹配两个表的第N条记 录,指定一个如下形式的“条件”表达式。
5.1 对象查询
5.1.1 对象
1. 点对象 :点是有特定的位置,维数为零的物 体。
2. 线对象:是GIS中非常常用的维度为一的空 间组分,表示对象和它们边界的空间属性,由一 系列坐标表示。
3. 多边形对象 :面状实体也称为多边形,是对 湖泊、岛屿、地块等一类现象的描述。通常在数 据库中由一封闭曲线加内点来表示。
Foster
478002
James
Foster
478003
Wickwire
Mason
方法: 选择列:* 从表:Counties, Orders 条件:
Counties.CountyName = Orders.County
4. 执行子选择
MapInfo允许SQL选择中有子选择。子选 择是被放在“SQL选择”对话框中的“条件” 域内的选择语句。
输入一系列列名:
① 在“从表”域中输入表名(若还未输入的话)。可以直接 输入表名或是在“表”下拉式列表中选择表名。
② 单击“选择列”域,该域中出现插入符。
③ 如果该域中有星号,先用〈Backspace〉键或〈Delete〉键将 其删除。“选择列”域中可以含有一个星号或者一系列列名。
④ 在对话框右侧的“列”下拉列表中选择一个列名。MapInfo 将该列名复制到“选择列”域中。
相关主题