使用SQL View进行Access查询

而不是使用Access设计视图将视图更改为SQL。 我将尝试概述Access中用于SQL查询的常规语法。

使用尖括号<>代替必须提供的某些语法元素。 这些元素的描述将包含在尖括号中。

方括号[]用于显示哪些部分是可选的。

基本的SELECT查询

SELECT <字段列表>

从<表/查询名称>

[在<在字段列表上设置条件的地方>]

[按<组将值分组的字段>]

[具有<在分组字段上设置标准>]

[ORDER BY <要排序的字段> ASC / DESC];

参量

在SQL语句之前定义定义在查询中的任何参数的数据类型。 当您要求用户在打开的窗体上的控件中输入值或匹配值时,此功能很有用。


PARAMETERS [Enter Date:] DateTime
SELECT OrderID, OrderDate
FROM tblOrders
WHERE OrderDate = [Enter Date:] 
存在

您可以使用此关键字来测试是否可以返回满足子查询中的选择的值。 以下查询将返回所有已开具发票的客户。


SELECT CustID
FROM tblCustomer
WHERE EXISTS
( SELECT * FROM tblInvoice
  WHERE tblInvoice.CustID = tblCustomer.CustID) 
汇总功能

创建包含诸如Avg(),Count(),Sum()等聚合函数的SQL语句通常需要GROUP BY子句。

如果将聚合函数放在字段上,则查询返回的所有字段必须包含在聚合函数或GROUP BY子句中。 以下查询将返回会员支付的费用总额。


SELECT tblMember.MemberID, tblMember.MemberName, Sum(tblFees.Fee)
FROM tblMember INNER JOIN tblFees
ON tblMember.MemberID = tblFees.MemberID
GROUP BY tblMember.MemberID, tblMember.MemberName; 
如果您在上述查询中(在GROUP BY子句中)包括任何其他字段,则费用总和也将在该字段中细分。 交叉表查询

交叉表查询可用于使用另一列中的值来汇总单个值,并使用其他列来定义按行分组。 语法为:

TRANSFORM <使用合计函数的表达式>

<SELECT语句>

PIVOT <要汇总的字段>

[IN <值列表>]

例如,要获取每个销售员每月的总销售额,您可以执行以下操作:


TRANSFORM Sum(tblInvoice.InvoiceAmt) As Total Sales
SELECT SalepersonID, FirstName, Surname
FROM tblSalesPeople INNER JOIN tblInvoice
ON tblSalesPeople.SalespersonID = tblInvoice.SalespersonID
WHERE Year(tblInvoice.InvoiceDate) = Year(Now())
PIVOT MonthName(Month(tblInvoice.InvoiceDate), True)
IN ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); 
有关SQL查询的其他一些有用的文章 访问 查询的 基本SQL语法 SQL 存储查询与SQL语句中的 SQL JOIN 查询

From: https://bytes.com/topic/access/insights/742510-queries-access-using-sql-view

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值