通过SQL语句进行查询

使用说明

SQL 查询可从已有的数据中,查询出满足特定条件的数据(记录数的子集,属性字段的子集,相关的统计等),查询条件主要是通过对数据集的属性进行查询,与空间位置无关。支持查询的数据类型有:点、线、面、文本、CAD、属性表、三维点、三维线、三维面、网络、路由数据集。

功能入口

操作说明

  1. 根据上述功能入口,打开SQL查询对话框,如果是第一次使用 SQL 查询功能,对话框数据列表区域会弹出提示信息,提示用户指定需要进行查询的数据。
  2. 选择要查询的数据后,在字段信息列表区域会自动列出指定数据段所有字段信息。用户需要指定查询字段。
  3. 对话框中其他参数含义及操作说明如下:
  4. 保存查询结果:用于设置是否将查询结果所要保存至的数据源和数据集名称。
  5. 导入:用来导入 SQL 查询模板(*.xml)文件。导入后,会根据 SQL 模板文件中记录的查询语句和查询条件,自动填写 SQL 查询界面的相应参数,用户单击“查询”按钮,即可完成 SQL 查询。有关 SQL 查询模板的更多内容,请参见:SQL查询模板
  6. 导出:用来将 SQL 查询对话框中设定的查询条件和参数等信息保存为 SQL 查询模板(*.xml)文件,并进行输出,保证用户下次可以继续使用。有关 SQL 查询模板的更多内容,请参见:SQL查询模板
  7. 查询:构建好查询语句以及设置好各项参数后,单击查询单按钮,则执行 SQL 查询操作。如果查询失败,请检查 SQL 语句构造是否正确。如需修改查询条件,单击“清除”按钮,清除原有的查询参数,即可重新进行查询。

备注

当使用函数作为查询结果中的字段时,请为函数添加别名,如 Len(World.COUNTRY) as Length,则浏览结果中属性表中字段名即为 Length,保存的结果数据集的属性表中字段名也为 Length;否则,如果没有指定别名,则查询结果中不会保存相应函数查询结果的字段值,但对于不同引擎其默认命名及浏览属性表中字段名不同。

不同引擎对别名的处理方式

  1. 对于 SQL Server Plus 数据源的查询,如果对于查询函数没有指定别名,那么系统是不会给出默认的别名,即字段名为空。此时,“结果显示”中勾选“浏览属性表”时,在打开的属性表中可以看到对应函数的字段无字段名,但有查询结果数据;而“保存查询结果”中保存的查询结果里没有相应函数的查询结果。这是数据库的差异引起的。
  2. 对于 UDB/UBDX、Oracle 数据源的查询,如果对于查询函数没有指定别名,那么系统会默认将查询结果中对应函数的字段命名为查询时的函数名,如 Atan(Region2.SMID);此时,“结果显示”中勾选“浏览属性表”时,在打开的属性表中可以看到对应函数查询结果的字段名为函数名 Atan(Region2.SMID),且有查询结果数据;但“保存查询结果”中保存的查询结果里没有相应函数的查询结果。这是数据库的差异引起的。

相关主题