Access的SQL语法
like查询用*
SELECT *
FROM flash
WHERE filename like '*http*';
DELETE *
FROM company_guangxi
WHERE 机构名称 not like '*公司*' and 机构名称 not like '*工厂*';
删除查询
DELETE * FROM 订单 WHERE 订单.下单日期<=#1/1/2002#
更新查询
UPDATE 产品 SET 产品.建议售价 = [建议售价]*1.2 WHERE 产品.厂牌="MOTOROLA"
access sql语句查询
查询时生成序号
SELECT (SELECT Count([xlh].[aa]) AS AutoNum FROM xlh WHERE (((xlh.aa)<=xlh_Alias.aa));) AS 序号, xlh.aa
FROM xlh AS xlh_Alias INNER JOIN xlh ON xlh_Alias.aa=xlh.aa
ORDER BY xlh.aa;
多表sql查询
SELECT test.aa AS 第一个字段, test1.bb AS 第二个字段, test1.cc
FROM test, test1
WHERE test.aa=test1.aa;
多表sql查询1
SELECT a.aa, b.bb, b.cc, b.cc*100 AS 合计
FROM test AS a, test1 AS b
WHERE a.aa=b.aa;
多表sql查询排序
SELECT a.aa, b.bb, b.cc AS 第三个字段
FROM test AS a, test1 AS b
WHERE a.aa=b.aa
ORDER BY b.cc;
查询例子
SELECT a.dhhm
FROM xl11a AS a, xl919 AS b
WHERE a.dhhm=b.dhhm and aa<>"1";
日期时间分隔符是#而不是引号
Select * From Tab1 Where [Date]>#2002-1-1#;
函数及计算
合计的群组,运算式及条件
SELECT 订单.客户编号, Sum(订单.含税价) AS 含税价之总计, Last(订单.订单日期) AS 订单日期之最后一笔, Date()-[订单日期之最后一笔] AS 距今天数 FROM 订单 WHERE (订单.订单日期>=#12/1/2006#) GROUP BY 订单.客户编号
11-2 查询指令
群组
条件
多个计算栏位
多资料表查询指令
INNER JOIN-最基本的JOIN方式
SELECT 客户.公司名称, 订单.订单编号, 订单.订单日期 FROM 客户 INNER JOIN 订单 ON 客户.客户编号 = 订单.客户编号
11-2 查询指令
多资料表查询指令
LEFT及RIGHT JOIN
SELECT 客户.公司名称, 客户.连络人姓名, 订单.客户编号 FROM 客户 LEFT JOIN 订单 ON 客户.客户编号 = 订单.客户编号 WHERE (订单.客户编号 Is Null)
11-2 查询指令
四种动作查询指令
制成资料表
SELECT 客户.客户编号, 客户.公司名称, 订单.下单日期, 订单.含税价 INTO 客户及订单 FROM 客户 INNER JOIN 订单 ON 客户.客户编号 = 订单.客户编号
新增查询
INSERT INTO 客户及订单 ( 客户编号, 公司名称, 下单日期, 含税价 ) SELECT 客户.客户编号, 客户.公司名称, 订单.下单日期, 订单.含税价 FROM 客户 INNER JOIN 订单 ON 客户.客户编号 = 订单.客户编号
11-3 动作查询指令
四种动作查询指令
下边列出sql server与access的语法差别,方便大家在更换程序数据库时查询。
日期分隔符号
access:英镑符(#)
sql server:撇号(’)
Boolean 常量
access:True、False;On、Off;Yes、No;整数:-1(真)、0(假)。
sql server:整数:1(真)、0(假)
字符串连接
access:和号(&)
sql server:加号(+)
通配符
access:星号(*)与零个或更多字符匹配。
问号(?)与单个字符匹配。
叹号(!)意味着不在列表中。
英镑符(#)意味着单个数字。
sql server:百分号(%)与零个或更多字符匹配。
下划线(_)与单个字符匹配。
上插入符(^)意味着不在列表中。
没有与英镑符(#)对应的字符。
DROP INDEX
access:Drop Index <索引名> ON <表名>
sql server:Drop Index <表名>.<索引名>
表添加标识列
access:alter table <表名> add <列名> Counter(1,1)
sql server:alter table <表名> add <列名> bigint identity(1,1) not null