㈠ ACCESS sql语句有哪些(常用)
常用数据库语句:
查询语句--->
select
*
from
table
修改语句--->
update
table
删除语句--->
delete
something
增加语句--->
insert
something
所有数据库中...无非都是这些常用语句!
㈡ Access数据库,请写成SQL查询语句
是得查询出来的
㈢ access的sql查询语句怎么写
Access SQL查询语句是兼容的,有两种方式可以使用SQL语句:
方式一:在“查询”的试图里,可以使用Access的向导模式,也可以直接使用SQL语言模式,如下图:
打开任何一个查询,在标签处选择SQL视图
㈣ ACCESS 追加查询 SQL语句
追加语句:
InsertInto目的表名(目的表名.字段1,目的表名.字段2)Values('值1','值2');
上面是标准的语法。跟T_SQL操作查询是一样的。所以他也能嵌套扩展,比如我要表对表追加查询:
InsertInto目的表名(目的表名.字段1,目的表名.字段2)Select来源表.字段1,来源表.字段2from来源表
你也可以给他有选择性的筛选:
InsertInto目的表名(目的表名.字段1,目的表名.字段2)Select来源表.字段1,来源表.字段2from来源表where条件加在这
你也可以嵌套连接查询,举个例子,我要向A表追加B表数据,当A表有重复某个字段就不重复追加,没有就追加,通过这种方法避免重复追加:
InsertIntoA(A.字段1,A.字段2)SelectB.字段1,B.字段2fromBLeftjoinAonB.字段1=A.字段1where((A.字段1)isnull)
㈤ access的sql语句有哪些
建表:
Create Table Tab1 (
ID Counter,
Name string,
Age integer,
[Date] DateTime);
技巧:
自增字段用 Counter 声明.
字段名为关键字的字段用方括号[]括起来,数字作为字段名也可行.
建立索引:
下面的语句在Tab1的Date列上建立可重复索引
Create Index iDate ON Tab1 ([Date]);
完成后ACCESS中字段Date索引属性显示为 - 有(有重复).
下面的语句在Tab1的Name列上建立不可重复索引
Create Unique Index iName ON Tab1 (Name);
完成后ACCESS中字段Name索引属性显示为 - 有(无重复).
下面的语句删除刚才建立的两个索引
Drop Index iDate ON Tab1;
Drop Index iName ON Tab1;
ACCESS与SQLSERVER中的UPDATE语句对比:
SQLSERVER中更新多表的UPDATE语句:
UPDATE Tab1
SET a.Name = b.Name
FROM Tab1 a,Tab2 b
WHERE a.ID = b.ID;
同样功能的SQL语句在ACCESS中应该是
UPDATE Tab1 a,Tab2 b
SET a.Name = b.Name
WHERE a.ID = b.ID;
即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.
上例中如果Tab2可以不是一个表,而是一个查询,例:
UPDATE Tab1 a,(Select ID,Name From Tab2) b
SET a.Name = b.Name
WHERE a.ID = b.ID;
访问多个不同的ACCESS数据库-在SQL中使用In子句:
Select a.*,b.* From Tab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID;
上面的SQL语句查询出当前数据库中Tab1和db2.mdb(当前文件夹中)中Tab2以ID为关联的所有记录.
缺点-外部数据库不能带密码.
在ACCESS中访问其它ODBC数据源
下例在ACCESS中查询SQLSERVER中的数据
SELECT * FROM Tab1 IN [ODBC]
[ODBC;Driver=SQLServer;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
外部数据源连接属性的完整参数是:
[ODBC;DRIVER=driver;SERVER=server;DATABASE=database;UID=user;PWD=pass(word);]
其中的DRIVER=driver可以在注册表中的
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI
中找到
ACCESS支持子查询
ACCESS支持外连接,但不包括完整外部联接,如支持
LEFT JOIN 或 RIGHT JOIN
但不支持
FULL OUTER JOIN 或 FULL JOIN
ACCESS中的日期查询
注意:ACCESS中的日期时间分隔符是#而不是引号
Select * From Tab1 Where [Date]>#2002-1-1#;
在DELPHI中我这样用
SQL.Add(Format(
'Select * From Tab1 Where [Date]>#%s#;',
[DateToStr(Date)]));
ACCESS中的字符串可以用双引号分隔,但SQLSERVER不认,所以为了迁移方便和兼容,
建议用单引号作为字符串分隔符.
查询时生成序号
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#;
两个表关联修改多个字段
UPDATE chhl AS a, jbsj AS b SET a.fzr = b.fzr, a.gh = b.gh
WHERE a.dhhm=b.dhhm;
update chhl set (fzr,gh)=
(SELECT b.fzr, b.gh
FROM chhl AS a, jbsj AS b
WHERE a.dhhm=b.dhhm);
如果Tab2可以不是一个表,而是一个查询
UPDATE Tab1 a,(Select ID,Name From Tab2) b
SET a.Name = b.Name
WHERE a.ID = b.ID;
UPDATE Tab1 a,Tab2 b
SET a.Name = b.Name
WHERE a.ID = b.ID;
访问多个不同的ACCESS数据库-在SQL中使用In子句,外部数据库不能带密码
Select a.*,b.* FromTab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID;
将一个表的某个字段置空
UPDATE chhl AS a SET a.fzr = null, a.gh = null;
删除两个表中字段一样的记录
delete from xl11 where dhhm in(SELECT a.dhhm
FROM xl11 AS a, xl919 AS b
WHERE a.dhhm=b.dhhm;);
完成后ACCESS中字段Name索引属性显示为--有(无重复)
Create Unique Index iName ON Tab1 (Name);
下面的语句删除刚才建立的两个索引
Drop Index iDate ONTab1;
Drop Index iName ON Tab1;
㈥ access SQL语句查询
给你个笨办法,在SQL查询分析器中测试通过
select * from a where a3 <= (select a3 from a where a4=1) or a1 <> (select a1 from a where a4=1)
㈦ 查询ACCESS SQL语句
查询1:查询除了供应商A和供应商B以外,所有物料所有供应商最新采购价格记录:
selecta.*from原始表asa,
(select物料,供应商,max(采购时间)as最新采购时间from原始表where供应商notin('A','B')groupby物料,供应商)asb
wherea.物料=b.物料anda.供应商=b.供应商anda.采购时间=b.最新采购时间
结果:
㈧ 求几条access的sql查询语句
select * from (select * from data1 where (CT like '*肝*') OR (B超 like '*肝*') OR (MR like '*肝*')) where (CT not like '*脂肪肝*') AND (B超 not like '*脂肪肝*') AND (MR not like '*脂肪肝*')