1.选择查询
选择查询是最常见的查询类型,它从一个或多个表中检索数据,在一定的限制条件下,还可以通过选择查询来更改相关表中的记录。使用选择查询也可以对记录进行分组,并且可对记录进行总计、计数以及求平均值等其他类型的计算。
2.交叉表查询
交叉表查询可以在一种紧凑的、类似于电子表格的格式中,显示来源于表中某个字段的合计值、计算值、平均值等。交叉表查询将这些数据分组,一组列在数据表的左侧,一组列在数据表的上部。
注意:可以使用数据透视表向导毒显示交叉表数据,无需在数据库中创建单独的查询。
3.参数查询
参数查询会在执行时d出对话框,提示用户输入必要的信息(参数),然后按照这些信息进行查询。例如,可以设计一个参数查询,以对话框来提示用户输入两个日期,然后检索这两个日期之间的所有记录。
参数查询便于作为窗体和报表的基础。例如,以参数查询为基础创建月盈利报表。打印报表时,Access显示对话框询问所需报表的月份。用户输入月份后,Access便打印相应的报表。也可以创建自定义窗体或对话框,来代替使用参数查询对话框提示输人查
询的参数。
4. *** 作查询
*** 作查询是在一个 *** 作中更改许多记录的查询, *** 作查询又可分为四种类型:删除查询、更新查询、追加查询和生成表查询。
(1)删除查询
从一个或多个表中删除一组记录。例如,可以使用删除查询来删除没有订单的产品。使用删除查询,将删除整个记录而不只是记录中的一些字段。
(2)更新查询
对一个或多个表中的一组记录进行批量更改。例如,可以给某一类雇员增加5%的工资。使用更新查询,可以更改表中已有的数据。
(3)追加查询
将一个(或多个)表中的一组记录添加到另一个(或多个)表的尾部。例如,获得了一些包含新客户信息表的数据库,利用追加查询将有关新客户的数据添加到原有“客户\"表中即可,不必手工键人这些内容。
(4)生成表查询
根据一个或多个表中的全部或部分数据新建表。
5.SQL查询
SQL查询是使用SQL语句创建的查询。经常使用的SQL。查询包括联合查询、传递查询、数据定义查询和子查询等。
(1)联合查询
将来自一个或多个表或查询的字段(列)组合为查询结果中的一个字段或列。例如,如果六个销售商每月都发送库存货物列表,可使用联合查询将这些列表合并为一个结果集,然后基于这个联合查询创建生成表查询来生成新表。
(2)传递查询
直接将命令发送到()DBC数据库,如Micros_oft SQL Server等,使用服务器能接受的命令。例如,可以使用传递查询来检索记录或更改数据。
(3)数据定义查询
用于创建或更改数据库中的对象,如Access或SOL Server表等。
(4)子查询
包含另一个选择查询或 *** 作查询中的SQL Select语句。可以在查询设计网格的“字段”行输人这些语句来定义新字段,或在“准则”行来定义字段的准则。
来自于http://zhidao.baidu.com/question/557787247.html
1.有单表查询,多表查询咯,还可以分为简单查询,联合查询,子查询,连接查询,其中子查还可以分比较子查询,相关子查询等等,单表当然是针对一个表的查询啦,多表查询对于多个表的内容进行查询;2.思想当然是得到所要的查询结果啦,这个可以考虑把时间降到最低,方法就是查询语句了,select 内容 from 表1,表2 where 条件
3.同样,技巧之类的就是根据不同的查询需求,选择时间消耗最少的
4.注意灵活运用查询方法,往往一个结果可以有多个查询方法,但是只有一个方法最快捷
5.查询是从数据表里面查询数据内容,而数据表是基本数据,实表
6.多表查询,就索引而言,对于查询有加快速度的作用。
自己的理解,可能有些偏差,lz再去问问吧
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条)