单击“文件”菜单中的“获取外部数据”项,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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)