sql查询分析器(sql查询分析器怎么用)

我们从前面几节的演示可以看出,金蝶报表的二次开发重点就是如何更快更准确的获取数据。为了进一步了解从金蝶数据库中获取数据的操作,本节我们介绍一下SQLServer的基本操作以及SQL查询语句。

这里所使用的SQLServer版本是2008R2。登录界面如下:

Excel VBA应用-6:利用SQLServer查询分析器来学习金蝶数据库

这里的服务器名称、登录名、密码对应的就是连接字符串中的前三项:

Excel VBA应用-6:利用SQLServer查询分析器来学习金蝶数据库

点击【连接】按钮后,进入主界面,左侧的数据库列表中就是上图的数据库名,金蝶数据库都是以AIS开头,可能有多个,在金蝶账套管理中可以看到这个数据库名。

Excel VBA应用-6:利用SQLServer查询分析器来学习金蝶数据库

点击左上角的【新建查询】,选择金蝶数据库:

Excel VBA应用-6:利用SQLServer查询分析器来学习金蝶数据库

我们可以在右侧编辑区录入查询语句,点工具栏上的【执行】按钮,查询语句下面就会显示结果。

以上就是查询语句的基本上操作,下面重点介绍一下查询语句的语法:

看一下我们前面的查询语句:

客户:

select FNumber,FName,FAddress,FPhone,FFax,FBank,FContact from t_Organization

供应商:

select FNumber,FName,FAddress,FPhone,FFax,FBank,FContact from t_Supplier

部门:

select FNumber,FName from t_Department

职员:

select FNumber,FName from t_Emp

仓库:

select FNumber,FName from t_Stock

物料:

select FNumber,FName,FModel from t_ICItem

销售明细(2022年10月的销售明细):

Select b.FBillno,b.FDate,d.FName,a.fnote,c.FName,c.FModel,e.FName , a.FQty, a.FPrice, a.FAmount, a.FTaxAmount, a.FAmountincludetaxFrom ICSaleEntry a left join ICSale b on a.FInterID=b.FInterIDleft join t_icitem c on a.FItemID=c.FItemIDleft join t_Organization d on b.FCustID=d.FItemIDleft join t_MeasureUnit e on a.FUnitID=e.FItemIDWHERE YEAR(b.fdate)=2022 and MONTH(b.fdate)=10 Order By b.FBillno


完整的查询语句为:

Select 字段1,字段2,字段3 From 表名Where 条件1 and 条件2 and 条件3Group by 分组1,分组2,分组3Having条件1 and 条件2 and 条件3Order By 排序1,排序2,排序3

其中Select和From是必须有的关键字,其他的如Where,Group,Having,Order只是在需要时才加入。

Select 后面的字段名可以指定,也可以用*代码,意思是所有的字段,最简单的查询语句就是

Select * From 表名

结果就是这个表中的所有内容

当Select后面的字段使用统计函数时,如SUM,COUNT,AVERAGE等,如果字段中存在分组字段,也就是不使用统计函数的字段,这时,查询语句后面要跟有Group关键字,如:

Select 客户,商品,SUM(数量),SUM(金额) From 销售表 Group By 客户,商品

Select后面的客户和商品字段没有使用统计函数,都要加在Group关键字后面

如果需要查询条件的字段是需要分组的字段,这时需要在Having关键字后面增加条件,如果不是分组字段,则需要在Where后面增加条件

最后的Order关键字是排序的字段,默认是升序,字段后面加DESC是降序。

以上就是查询语句的基本语法,下面我们再用个例子说明:

例:统计客户名称中以“广东”开头的客户在2022年10月销售数量和销售金额汇总,并按销售金额降序排列

Select d.FName, SUM(a.FQty), SUM(a.FAmount)From ICSaleEntry a left join ICSale b on a.FInterID=b.FInterIDleft join t_icitem c on a.FItemID=c.FItemIDleft join t_Organization d on b.FCustID=d.FItemIDleft join t_MeasureUnit e on a.FUnitID=e.FItemIDWHERE YEAR(b.fdate)=2022 and MONTH(b.fdate)=10GROUP BY d.FNameHaving d.FName LIKE ‘广东%’Order By SUM(a.FAmount) DESC

说明:

Select后面的d.FName是客户名称,没有使用分组函数,则为分组字段,在Group关键字后面必须出现;

限定日期的字段FDate没有在Select后面出现,则使用Where关键字来限定条件;

由于客户名称是分组字段,所以限定条件必须出现在Having关键字后面。

罗马不是一天建成的,学习更是如此。如果要熟练掌握查询语句,必须大量的练习。先模仿,再举一反三,才能融会贯通。在练习过程中如果有不明白的地方可以在评论区留言,我们共同探讨。

上一篇: 人民币对日元汇率下降(人民币对日元汇率变化趋势)
下一篇: tj沃伦(tj沃伦与蒙蒂合作过吗)
《sql查询分析器(sql查询分析器怎么用)》文档下载: PDF DOC TXT

猜你喜欢