空间数据库的查询

 

一、还原数据库

将数据显示在sql里面

二、查询坐标系

select states.geom.STSrid from STATES

即可查询到一个数字

但是要在视图-系统视图-sys.spacial_reference_systems目录视图显示其中的具体坐标系

三、查询所需要的信息

1、在CITY_125表选择人口大于一百万的所有城市

select *
from CITY_125
where Tot_pop>1000000

2、在CITY_125表中选择Texas州的所有城市

select *
from CITY_125
where state='tx'

3、地理计算的函数STLength()

(1)查询I 80公路的长度

select Highway,geom.STLength()
from US_HIWAY
where Highway='I 80'

(2)查询US_HIWAY表中长度大于2000千米的公路

select *
from US_HIWAY
where geom.STLength()>2000000

 4、计算STATES表中各州的地理面积(使用STArea()函数,并与表中Area或Total_Area字段比较)

select STATE_NAME,area,geom.STArea()
from STATES
order by geom.STArea()

5、选出1990年人口大于全国各州平均值的全部州。(嵌套查询)

select *
from STATES
where POP1990>(select avg(POP1990) from STATES)

6、选出所有城市,其人口大于1000,000,其所在州大于10,000,000

select CITY_125.City,STATES.STATE_NAME,STATES.geom
from CITY_125,STATES
where CITY_125.Tot_pop>1000000 and STATES.POP1990>10000000

7、查询人口(1990)超过15000000的州及人口数

select STATE_NAME,POP1990
from STATES
where POP1990>15000000

8、创建人口密度(1990)大于100人每平方千米的所有州的表(注意单位:平方千米)

select *
from STATES
where POP1990/geom.STArea()*1000000>100

9、创建一张显示全国人口密度(1990)的表

select sum(POP1990)/sum(geom.STArea())*1000000
from STATES

9、把美国各州按大区计算每个大区的总人口(1990)和总面积,创建包含以下信息的表

每个大区的州数、每个大区的人口、每个大区的面积

select SUB_REGION,count(*),sum(POP1990),sum(geom.STArea())
from STATES
group by SUB_REGION

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值