📄 mapinfo重点及难点讲解1.htm
字号:
<P align=justify><FONT color=#000000>在Group By
Columns区,我们指定了两列名,在这种情况下,MapInfo首先按销售代表组合行,然后再按顾客组合。这个查询的结果表对应于每一个不同的顾客棗销售代表组合都有一个行。</FONT></P>
<P align=justify><FONT
color=#000000>当某个顾客通过两个或更多的销售代表订货时,那个顾客与第一个销售代表做的生意都有一个行来总结。全部行首先是按销售代表分组,然后,对于各个销售代表,又按顾客分组。</FONT></P>
<P align=justify><FONT
color=#000000>集合函数,MapInfo有下列集合函数:</FONT></P></BLOCKQUOTE>
<P align=justify><FONT
color=#000000>Count(*):计算一个组内的记录个数,它仅用*作为其参数是因为它适用于整个
记录,而不是记录中的某个特定字段。</FONT></P>
<P align=justify><FONT color=#000000>Sum(表达式):计算一个组全部记录表达式值的总和</FONT></P>
<P align=justify><FONT color=#000000>Avg(表达式):计算一个组全部记录表达式值的平均值</FONT></P>
<P align=justify><FONT
color=#000000>Max(表达式):找出一个组全部记录表达式值中的最大值</FONT></P>
<P align=justify><FONT
color=#000000>Min(表达式):找出一个组全部记录表达式值中的最大值</FONT></P>
<P align=justify><FONT color=#000000>以上所述的表达式,最简单的情况是一个字段名(列名)。</FONT></P>
<P align=justify><B><FONT color=#000000>关于From tables</FONT></P>
<P align=justify></B><FONT
color=#000000>这个区告诉MapInfo要查询那些表,你必须在这个区最少输入一个表名。如果你要MapInfo查询两个或更多的表,就要输入用逗号分隔的一系列表名。</FONT></P>
<P align=justify><FONT color=#000000>如果你在这个区输入了两个或两个以上的表名,那么,你还必须在Where
Condition区指定表达式来告诉MapInfo如何连系这些表。</FONT></P>
<P align=justify><FONT color=#000000>如果你输入了两个表名,MapInfo自动计算一个适当的Where
Condition表达式。但是如果你用了三个或更多的表名,你必须手工修改这个表达式。当你按多表联接时,所有的表必须是基础表。你不能把结果表(例如Qurey5)用于多表SQL
Selec。</FONT></P>
<P align=justify><FONT color=#000000><B>关于Where Condition区</B></FONT></P>
<P align=justify><FONT
color=#000000>这个区有不同的任务,取决于你的查询性质。当你查询一个单表时,该区是可选的(即不填也可)。如果你查询涉及到连接两个或多个表,你必须指定一个Where
Condition表达式,那个表达式必须表明MapInfo应该如何联接这两个表。</FONT></P>
<P align=justify><FONT
color=#000000>如果你愿意,你可以在该区输入过滤标准。输入过滤标准的方法是打入一个判断真假的逻辑表达式。例如,当你查询World表时,如果你只选择人口大于5百万的行,就要指定如下的Where
Condition子句:</FONT></P>
<P align=justify><FONT color=#000000>Where
Condition:Population>5000000</FONT></P>
<P align=justify><FONT color=#000000>这个区的数字中间不要打逗号。</FONT></P>
<P align=justify><FONT color=#000000><B>关于Group by Columns区</B></FONT></P>
<P align=justify><FONT
color=#000000>这个区允许你小计你的结果表。如果你输入一个列名(或被逗号分隔的一串列名)到该区,MapInfo就小计你的查询结果,并且只给你显示出小计结果表,而不显示你的表的每个行。</FONT></P>
<P align=justify><FONT color=#000000>计算小计是一个两步曲:</FONT></P>
<BLOCKQUOTE>
<P align=justify><FONT color=#000000>1.输入一个(或一组)列名到该区</FONT></P>
<P align=justify><FONT color=#000000>2.输入同样的列名和集合运算器(诸如Sum或Count)到Select
Columns区。Group by Columns区是可选的。如果你保留为空(默认的),MapInfo将不计算小计。</FONT></P><B>
<P align=justify><FONT color=#000000>关于Order by
Columns区</FONT></B></P></BLOCKQUOTE>
<P align=justify><FONT
color=#000000>这个区允许你对你的结果表进行排序。如果你输入一个(或被逗号分隔的一组)列名到该区,MapInfo就以你输入的列作为关键字对你结果表的行进行排序。默认是升序,A在B之上,小数在大数之上。降序可在列名后跟一个desc字。例如:</FONT></P>
<P align=justify><FONT color=#000000>Order by Columns:Population
desc</FONT></P>
<P align=justify><FONT color=#000000>该区是可选的,如果空着,结果表将不排序。</FONT></P>
<P><B><FONT color=#000000> </FONT></P>
<P align=justify><FONT color=#000000>关于Into table Named区</FONT></B></P>
<P align=justify><FONT
color=#000000>这个区允许你命名结果表。默认的结果表名是Selection。如果你要指定一个另外的名字,就把它打入该区。你输入的表名不应该是一个打开的表。如果你频繁使用SQL
Select,并且如果你用selection作为你的结果表名,你会以得到许多左上重叠的结果表(例如Query1,Query2,Query3等)告终。这些Queryn表不会造成任何伤害;然而,有的人就是不喜欢这大量打开的表。如果你要避免这大量打开的Queryn表,那你在该区输入一个另外的表名就行了。例如你输入表名Qresults:</FONT></P>
<P align=justify><FONT color=#000000>Into Table Named:Qresults</FONT></P>
<P align=justify><FONT
color=#000000>然后再进行的各个SQL操作就只用Qresults作为结果表名。这个方法,你只能得到一个结果表(Qresults),不管你进行了多少次查询。</FONT></P>
<P><B><FONT color=#000000> </FONT></P>
<P align=justify><FONT color=#000000>关于Browse Results</FONT></B></P>
<P align=justify><FONT color=#000000>如果你标证了Browse
Results检查框,MapInfo自动以一个Browser窗口显示查询结果。</FONT></P>
<P><B><FONT color=#000000> </FONT></P>
<P align=justify><FONT
color=#000000>关于Aggregates,Function,Operator等的下拉列表(略)</FONT></P>
<P align=justify><FONT color=#000000>SQL Select的目的是什么?</FONT></B></P>
<P align=justify><FONT
color=#000000>它是一个多目的的查询工具。用SQL选择,你可以完成下列任务之一或全部:</FONT></P>
<UL>
<LI><FONT color=#000000>过滤你的数据,以便你只看到你感兴趣的行和列</FONT>
<LI><FONT color=#000000>执行关系连结,把两个或多个表组合成一个结果表</FONT>
<LI><FONT color=#000000>创建关系连结,(根据已有列的内容计算出新值的列)</FONT>
<LI><FONT color=#000000>按数据值或(和)字母顺序排序你的数据</FONT>
<LI><FONT color=#000000>小计你的数据,以便你只看到一个小计表,而不是整表</FONT> </LI></UL>
<P><B><FONT color=#000000> </FONT></P>
<P align=justify><FONT color=#000000> </FONT></P>
<P align=justify><FONT color=#000000>Select 的目的</FONT></B></P>
<P align=justify><FONT
color=#000000>Select允许你查询你的数据库,根据一定的准则从一个表中选择记录和对象,并创建一个你以平面图、表格浏览器或曲线图方式来观看的结果表。</FONT></P>
<P align=justify><FONT color=#000000>Select对话框允许你指定查询准则</FONT></P>
<P align=justify><FONT color=#000000>对话框各栏的填写</FONT></P>
<P align=justify><FONT color=#000000>Select records from
Table选择你要操作的表</FONT></P>
<P align=justify><FONT color=#000000>That Satisfy在此打入你的查询表达式,或者用鼠标点Assist
钮使显示表达式对话框,这个对话框将帮助你构成你的查询表达式。</FONT></P>
<P align=justify><FONT color=#000000>Store results in
table(optional)</FONT></P>
<P align=justify><FONT
color=#000000>这个选项允许你命名保存查询结果的临时表。“Seltction”是默认值。如果你选择了“Selection”,MapInfo就命名这个表为Query1,Query2等。</FONT></P>
<P align=justify><FONT color=#000000>Sort results by
Column(optional)</FONT></P>
<P align=justify><FONT
color=#000000>当你要查询结果按某个列的值排序时,选择这里。默认的是查询不被排序。你可以通过使用Select并指定一个排序依据(但不能任何表达式)把一个表排列成某个需要的顺序。MapInfo选择表中所有的记录并根据指定列中的值对它们进行顺序。</FONT></P>
<P align=justify><FONT color=#000000>Assist</FONT></P>
<P align=justify><FONT color=#000000>进入你可以用以构成查询表达式的表达式对话框。</FONT></P>
<P align=justify><FONT color=#000000>Browse results</FONT></P>
<P align=justify><FONT
color=#000000>这个盒默认是标记的。当你需要你的查询结果表时,保留它被标记。否则清除它。该表的命名是根据输入到Store results
in Table的标记。</FONT></P>
<P align=justify><FONT color=#000000>OK执行查询</FONT></P>
<P align=justify><FONT color=#000000> </FONT></P>
<P><B><FONT color=#000000> </FONT></P>
<P align=justify><FONT color=#000000>用Select搞查询</FONT></B></P>
<P align=justify><FONT color=#000000>MapInfo有两个通过查来选择对象的命令:Select和SQL
Select。Select是比较简单的,而SQL是功能更强的。</FONT></P>
<P align=justify><FONT color=#000000>要作一个查询:</FONT></P>
<BLOCKQUOTE>
<P align=justify><FONT
color=#000000>1.选择Query>Select,Select对话框显示。</FONT></P>
<P align=justify><FONT color=#000000>2.点Select records from
table下拉列表,选择要从中选择记录的表名。</FONT></P>
<P align=justify><FONT color=#000000>3.在That
Satisfy区内打入你的查询表达式,或者点Assist钮显示帮助你写表达式的表达式对话框。</FONT></P>
<P align=justify><FONT color=#000000>4.在Store Results in
Table区内,为贮存你的查询结果的临时表打入一个名字,或者选Selection(默认的表名)。如果选这个默认的,MapInfo就把这个表命名为Query1,Query2等。</FONT></P></BLOCKQUOTE>
<P align=justify><FONT color=#000000>要按某个列的值对查询结果排序(可选的)</FONT></P>
<P align=justify><FONT color=#000000>5.点击Sort results by
Columns下位列表并选择含有你要用以排序的列。</FONT></P>
<P align=justify><FONT color=#000000>6.点击OK</FONT></P>
<P align=justify><FONT color=#000000>如果Browse
Results检查盒标记,一个有你的查询结果的Browser窗口就显示出来。</FONT></P>
<P align=justify><FONT
color=#000000>你可以用这个Select命令加亮一个Map或一个Table中符合一定准则的对象,并且创建一个你能浏览,成图或作曲线图的象任何别的Table一样的结果表。</FONT></P>
<P align=justify><FONT color=#000000>当你正与一个Browse
Window打交道时,满足查询准则的记录都被加亮。</FONT></P>
<P align=justify><FONT
color=#000000>当你正与一个Map打交道时,所选对象的图形对象都被加亮。</FONT></P>
<P align=justify><FONT
color=#000000>当你同时既与一个map窗口又与一个Browse窗口交道时,这些对象和记录都是加亮的。</FONT></P>
<P align=justify><FONT
color=#000000>在所有情况下,都自动建立起一个叫做Selection的工作表。这个表包括着查询结果。你可以使用这个表作平面图或曲线图,像任何其它表一样。</FONT></P>
<P align=justify><FONT color=#000000>当你用Select或SQL
Select作查询时,从你的源表生成了临时表。显示在窗口中时,这些表被命名为Query1,Query2等。关闭这些表就清除了它们,但不会影响你的源表。但是,如果你关闭了你的源表,所有相关的查询表将被关闭并被清除。</FONT></P>
<P align=justify><FONT color=#000000>为了保存一个查询表的内容,要用:</FONT></P>
<P align=justify><FONT color=#000000>File>Save Copy AS</FONT></P>
<P align=justify><FONT color=#000000>然后你可以关闭这个查询表,有效地删除它。以后要打开它就用通过Save
Copy As建立表时的名字。</FONT></P>
<P align=justify><FONT color=#000000>你可以把Update Column用于一个SQL
Select多表联接的结果表,前提是这个SQL Select没有使用Group By子句。</FONT></P>
<P align=justify><FONT color=#000000>要更新带有另一表的信息的一个表中列,应该:</FONT></P>
<OL>
<LI><FONT color=#000000>用SQL Select连接这两个表。</FONT>
<LI><FONT color=#000000>把Update
Column用于其Selection表,更新将会自动影响到相应的基础表。</FONT></FONT>
</LI></OL></TD></TR></TBODY></TABLE></CENTER></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -