获取外部数据只在access中使用,应该采取

获取外部数据只在access中使用,应该采取,第1张

在Access中,可以很方便地从外部数据中获取数据,这些数据库包括现在所有的各种主流数据库,像Dbase、Sybase、Oracle、Foxpro等。这样你就不用去一个一个地重新输入原来的数据了。 在Access中,可以用“获取外部数据”命令来获取外部数据库的数据,这个命令包括两种方式“导入”和“链接表”。对于不同的外部数据库可以用不同的获取方式。而且在Access中,不光可以获取外部数据,还可以导出别的数据库,就是将用Access建立的数据库保存为别的数据库形式,像FOXPRO,DBASE数据库等。

单击“文件”菜单中的“获取外部数据”项,d出一个子菜单,上面有“导入”和“链接表”两个选项。我们单击其中的一个选项就可以实现导入或联接一个外部的数据库。虽然这两个命令的功用都是打开外部的一个数据库,并从中获取需要的数据,但在使用上,还是有差别的。在我们使用“导入”这个方法来获取外部数据时需要注意几个条件。一、需要我们打开的数据库文件相对来说比较小,而且不会被其他数据库应用程序的用户频繁更改。二、不需要与其他数据库应用程序的用户共享数据。三、你正在替换以前的数据库应用程序,而且不再需要以前的数据格式。四、在使用其他数据库中的数据时,需要最佳性能。

1、where型子查询

(把内层查询结果当作外层查询的比较条件)

#不用order by 来查询最新的商品

select goods_id,goods_name from goods where goods_id = (select max(goods_id) from goods)

#取出每个栏目下最新的产品(goods_id唯一)

select cat_id,goods_id,goods_name from goods where goods_id in(select max(goods_id) from goods group by cat_id)

2、from型子查询

(把内层的查询结果供外层再次查询)

#用子查询查出挂科两门及以上的同学的平均成绩

思路:

#先查出哪些同学挂科两门以上

select name,count(*) as gk from stu where score <60 having gk >=2

#以上查询结果,我们只要名字就可以了,所以再取一次名字

select name from (select name,count(*) as gk from stu having gk >=2) as t

#找出这些同学了,那么再计算他们的平均分

select name,avg(score) from stu where name in (select name from (select name,count(*) as gk from stu having gk >=2) as t) group by name

3、exists型子查询

(把外层查询结果拿到内层,看内层的查询是否成立)

#查询哪些栏目下有商品,栏目表category,商品表goods

select cat_id,cat_name from category where exists(select * from goods where goods.cat_id = category.cat_id)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9262517.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存