MicrosoftAccess数据库中SQL语句大全
Access及SQLServer操作数据库结构的常用SQL语句

Access及SQLServer操作数据库结构的常⽤SQL语句Access及SQL Server操作数据库结构的常⽤SQL语句新建表:create table [表名]([⾃动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default '默认值' null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,[字段6] Decimal (12,4) default 0,[字段7] image null ,)删除表:Drop table [表名]插⼊数据:Insert INTO [表名] (字段1,字段2) VALUES (100,'')删除数据:Delete FROM [表名] Where [字段名]>100更新数据:Update [表名] SET [字段1] = 200,[字段2] = '' Where [字段三] = 'HAIWA'新增字段:Alter TABLE [表名] ADD [字段名] NVARCHAR (50) NULL删除字段:Alter TABLE [表名] Drop COLUMN [字段名]修改字段:Alter TABLE [表名] Alter COLUMN [字段名] NVARCHAR (50) NULL重命名表:(Access 重命名表,请参考⽂章:在Access数据库中重命名表)sp_rename '表名', '新表名', 'OBJECT'新建约束:Alter TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2000-1-1')删除约束:Alter TABLE [表名] Drop CONSTRAINT 约束名新建默认值Alter TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '' FOR [字段名]删除默认值Alter TABLE [表名] Drop CONSTRAINT 默认值名删除Sql Server 中的⽇志,减⼩数据库⽂件⼤⼩dump transaction 数据库名 with no_logbackup log 数据库名 with no_logdbcc shrinkdatabase(数据库名)exec sp_dboption '数据库名', 'autoshrink', 'true'\'添加字段通⽤函数Sub AddColumn(TableName,ColumnName,ColumnType)Conn.Execute("Alter Table "&TableName&" Add "&ColumnName&" "&ColumnType&"")End Sub\'更改字段通⽤函数Sub ModColumn(TableName,ColumnName,ColumnType)Conn.Execute("Alter Table "&TableName&" Alter Column "&ColumnName&" "&ColumnType&"")End Sub\'检查表是否存在sql="select count(*) as dida from sysobjects where id = object_id(N'[所有者].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1" set rs=conn.execute(sql)response.write rs("dida")'返回⼀个数值,0代表没有,1代表存在判断表的存在:select * from sysobjects where id = object_id(N'[dbo].[tablename]') and OBJECTPROPERTY(id, N'IsUserTable') = 1某个表的结构select * from syscolumns where id = object_id(N'[dbo].[你的表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1。
Microsoft Access数据库中SQL语句大全

ACCESS数据库的SQL语句教学引子:如何找到ACCESS数据库的SQL视图:1) 单击下图左侧的:2)单击上图顶部的,弹出如下图对话框:5)单击“关闭”,此时在菜单中的文件菜单下面出现一个SQL的下拉框;6)在“SQL”下拉框中选择如下图所示中的“SQL视图即可”。
1、查询所有记录:Select *通常用于快速查瞧表中的记录。
当对表的结构无法确切记忆时,或要快速查瞧表中的记录时,使用Select *就是很方便的。
use 企业销售管理系统Select * from 职工2、投影查询:很多时候并不需要将所有列的数据都显示出来。
投影查询就就是允许用户显示所需要的列。
假设显示职工表中职工号、姓名、工资信息,具体操作方法如下。
Select 职工号,姓名,工资from 职工在Select查询中,还可以按照实际的需要或自己的喜好安排显示列的顺序,如果要把姓名放到第一列,则代码如下:Select姓名, 职工号,工资from 职工3、条件查询:显示wh1或wh2仓库、性别不为女、工资在1300~2100之间的职工信息。
具体操作如下:Select * from职工号where(仓库号=’wh1’ or仓库号=’wh2’)And not 性别=’女’ and 工资>=1300 and 工资工资<=2100在这里一定要注意,(仓库号=’wh1’ or仓库号=’wh2’)一定要加括号,否则就不就是原题的意思。
4、谓词In查询:在查找特定条件的数据时,如果条件较多,就需要用到多个Or运算符,以查找满足其中任一条的记录。
但使用多个Or运算符,将使Where子句变得过于冗长,这时使用In就非常清楚。
另外,在后面讲解的嵌套查询中,也必须使用In查询。
下面以显示zg1、zg2、zg11、zg15的订购单信息为例具体讲解一下。
使用Or运算符Select * from订购单where 职工号=’zg1’ or职工号=’zg2’’)Or职工号=’zg11’ or职工号=’zg15’在SQL语句中,还支持Like与Not结合使用。
access数据库导出sql语句

access数据库导出sql语句Access数据库是一种常用的关系型数据库管理系统,它提供了一套完整的工具和功能,用于创建、管理和查询数据库。
其中,导出SQL语句是Access数据库中的一项重要功能,它可以将数据库中的数据和结构以SQL语句的形式导出,方便在其他数据库系统中使用。
下面列举了10个常见的导出SQL语句的操作和示例。
1. 导出整个表的SQL语句:```SELECT * INTO new_table FROM old_table;```该语句将old_table表中的所有数据导出到new_table表中。
2. 导出指定表的结构SQL语句:```SELECT * INTO new_table FROM old_table WHERE 1=0;```该语句将old_table表的结构导出到new_table表中,但不包含数据。
3. 导出指定表的数据SQL语句:```SELECT * INTO new_table FROM old_table;```该语句将old_table表中的所有数据导出到new_table表中。
4. 导出指定表的部分数据SQL语句:```SELECT * INTO new_table FROM old_table WHERE 条件;```该语句将old_table表中满足条件的数据导出到new_table表中。
5. 导出指定表的指定字段SQL语句:```SELECT field1, field2 INTO new_table FROM old_table;```该语句将old_table表中的field1和field2字段导出到new_table 表中。
6. 导出指定表的指定字段和数据SQL语句:```SELECT field1, field2 INTO new_table FROM old_table WHERE 条件;```该语句将old_table表中满足条件的field1和field2字段导出到new_table表中。
access sql 写法

Access SQL(Microsoft Access 中的SQL 语句)是一种用于查询和操作数据库的方法。
以下是一些常见的Access SQL 写法:1. SELECT 语句:用于查询数据库中的数据。
示例:```SELECT * FROM table_name;```2. WHERE 语句:用于过滤查询结果。
示例:```SELECT * FROM table_name WHERE column_name = 'value';```3. JOIN 语句:用于将两个或多个表进行连接。
示例:```SELECT * FROM table1 JOIN table2 ON table1.column_name = table2.column_name;```4. GROUP BY 语句:用于对查询结果进行分组。
示例:```SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;```5. HAVING 语句:用于对分组后的数据进行筛选。
示例:```SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 10;```6. ORDER BY 语句:用于对查询结果进行排序。
示例:```SELECT * FROM table_name ORDER BY column_name ASC;```7. INSERT 语句:用于向数据库中插入数据。
示例:```INSERT INTO table_name (column1, column2, column3) VALUES ('value1', 'value2', 'value3');```8. UPDATE 语句:用于更新数据库中的数据。
access查询sql语句

access查询sql语句SQL(StructuredQueryLanguage)是用来访问和操纵数据库的语言,它是一种被广泛使用的标准数据库查询和编程语言。
Access查询SQL语句是一种通用的面向数据库的抽象语言,通过它可以实现对多种类型的数据库的查询。
本文将主要介绍Access查询SQL语句的基本结构,SQL语句的基本语法以及一些常用的SQL语句。
一、Access查询SQL语句的基本结构Access查询SQL语句的基本结构由四个部分组成,即SELECT、FROM、WHERE和ORDER BY,其中在实际应用中可以包含其他子句。
SELECT:SELECT子句用于指定该查询中包含哪些字段,可以指定单个字段或多个字段,也可以指定全部字段。
FROM:FROM子句指定查询中使用的表。
WHERE:WHERE子句用于筛选符合条件的记录,主要是通过比较运算符(如=、>、)实现的。
ORDER BY:ORDER BY子句用于指定查询结果的排序方式,可以按照字段值升序排列或者降序排列。
二、SQL语句的基本语法SQL语句一般由命令关键字、表达式、语法结构符号等组成,其中命令关键字是主体,其他部分与之结合构成语句。
SQL语句中的关键字:SELECT:从数据库中检索数据的关键字,后跟字段列表,表示要检索的字段;FROM:指定数据来源,后紧跟表名;WHERE:从表中筛选记录的关键字;ORDER BY:排序的关键字,用于指定排序字段及排序顺序;GROUP BY:统计汇总的关键字,用于指定统计汇总的字段;HAVING:筛选统计汇总结果的关键字。
运算符:=:等于;>:大于;小于;>=:大于等于;<=:小于等于;<>:不等于。
逻辑运算符:AND:表示“并且”;OR:表示“或”;NOT:表示“非”。
函数:在SQL语句中,可以使用一些种类繁多的函数,用于实现复杂查询。
三、常用的SQL语句(1)查询表中全部记录:SELECT * FROM名(2)查询指定字段记录:SELECT段1,字段2 FROM名(3)条件查询:SELECT段1,字段2 FROM名 WHERE件(4)按照指定字段排序:SELECT段1,字段2 FROM名 ORDER BY 段1(5)统计汇总:SELECT SUM(字段1) FROM名(6)关联查询:SELECT段1,字段2 FROM名1,表名2 WHERE 名1.字段1 =名2.字段1Access查询SQL语句是一种面向数据库的抽象语言,在实际应用中,可以使用它实现对各种类型数据库的查询和操作。
ACCESS数据库常用SQL语句

SELECT 语句指示Microsoft Jet 数据库引擎从数据库返回一组记录信息。
语法SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}FROM tableexpression [, ...] [IN externaldatabase] [WHERE... ][GROUP BY... ][HAVING... ][ORDER BY... ][WITH OWNERACCESS OPTION]SELECT 语句包含以下部分:部分说明predicate 这些谓词之一:ALL、DISTINCT、DISTINCTROW 或 TOP。
可以使用谓词来限定返回记录的数量。
如果没有指定谓词,默认值为 ALL。
*指定选择所指定的表的所有字段。
table表的名称,该表包含了其记录被选择的字段。
field1,field2字段名,这些字段包含了要检索的数据。
如果包括多个字段,将按它们的排列顺序对其进行检索。
alias1, alias2用作列标题的名称,不是 table 中的原始列名。
tableexpression其中包含要检索的数据的表的名称。
如果 tableexpression 中的表不在当前数据库中,则使用该externaldatabase参数指定该数据库名。
说明若要执行此项操作,Microsoft® Jet 数据库引擎会搜索指定的表,并提取出选定的列,再选择出符合条件的列,然后按指定的顺序对得到的行进行排序或分组。
SELECT 语句不会更改数据库中的数据。
SELECT 通常是SQL 语句中的第一个词。
大多数 SQL 语句是 SELECT 或SELECT...INTO 语句。
SELECT 语句最简化的语法为:SELECT fields FROM table可以通过星号 (*) 来选择表中所有的字段。
Microsoft Access数据库中SQL语句大全

ACCESS数据库的SQL语句教学引子:如何找到ACCESS数据库的SQL视图:1)单击下图左侧的:2)单击上图顶部的,弹出如下图对话框:5)单击“关闭”,此时在菜单中的文件菜单下面出现一个SQL的下拉框;6)在“SQL”下拉框中选择如下图所示中的“SQL视图即可”。
1、查询所有记录:Select *通常用于快速查看表中的记录。
当对表的结构无法确切记忆时,或要快速查看表中的记录时,使用Select *是很方便的。
use 企业销售管理系统Select * from 职工2、投影查询:很多时候并不需要将所有列的数据都显示出来。
投影查询就是允许用户显示所需要的列。
假设显示职工表中职工号、姓名、工资信息,具体操作方法如下。
Select 职工号,姓名,工资 from 职工在Select查询中,还可以按照实际的需要或自己的喜好安排显示列的顺序,如果要把姓名放到第一列,则代码如下:Select姓名, 职工号,工资 from 职工3、条件查询:显示wh1或wh2仓库、性别不为女、工资在1300~2100之间的职工信息。
具体操作如下:Select * from职工号 where(仓库号=’wh1’ or仓库号=’wh2’)And not 性别=’女’ and 工资>=1300 and 工资工资<=2100在这里一定要注意,(仓库号=’wh1’ or仓库号=’wh2’)一定要加括号,否则就不是原题的意思。
4、谓词In查询:在查找特定条件的数据时,如果条件较多,就需要用到多个Or运算符,以查找满足其中任一条的记录。
但使用多个Or运算符,将使Where子句变得过于冗长,这时使用In就非常清楚。
另外,在后面讲解的嵌套查询中,也必须使用In查询。
下面以显示zg1、zg2、zg11、zg15的订购单信息为例具体讲解一下。
使用Or运算符Select * from订购单 where 职工号=’zg1’ or职工号=’zg2’’)Or职工号=’zg11’ or职工号=’zg15’使用谓词InUse 企业销售管理系统Select * from订购单 where 职工号 in(’zg1’, ’zg2’, ’zg11’, ’zg15’)在Select语句中,还支持In与Not结合使用。
Access数据库sql

学生表:create table student(sno char(8) primary key ,sname char(10),ssex char(1),sage int,sdept char(20))课程表:create table course(cno char(3) primary key ,cname char(20),cpno char(3),ccredit int)学生选课表:create table sc(sno char(8),cno char(3),grade float,primary key(sno,cno));查询仅涉及一个表:一、选择表中的若干列二、选择表中的若干元组三、ORDER BY子句四、聚集函数五、GROUP BY子句一、选择表中的若干列:1.查询指定列:[例1] 查询全体学生的学号与姓名。
select sno,snamefrom student;[例2] 查询全体学生的姓名、学号、所在系。
select sname,sno,sdeptfrom student;2.选出所有属性列:在SELECT关键字后面列出所有列名将<目标列表达式>指定为“*”[例3] 查询全体学生的详细记录。
select sno,sname,ssex,sage,sdeptfrom student;或者:select *from student;3.SELECT子句的<目标列表达式>可以为:算术表达式字符串常量函数列别名[例4] 查全体学生的姓名及其出生年份。
select sname,2015-sagefrom student;[例5] 查询全体学生的姓名、出生年份和所有学院,要求用前两个字表示所有学院名。
SELECT sname, "Year of Birth:", 2015-sage, Left(sdept,2)FROM student;使用列别名改变查询结果的列标题:SELECT sname as name, "Year of Birth:" as birth, 2015-sage as birthday, Left(sdept,2) as departmentFROM student;二、选择表中的若干元组1. 消除取值重复的行如果没有指定DISTINCT关键词,则缺省为ALL[例6] 查询选修了课程的学生学号。
ACCESS中基本的SQL语句格式

常用sql语句格式数据定义语句一、建表结构:Create Table 表名(字段名类型[(大小)][,…])二、修改表结构:1、添加字段:Alter Table 表名 Add Column 字段名类型[(大小)]2、删除字段:Alter Table 表名 Drop Column 字段名3、改字段类型:Alter Table 表名 Alter 字段名新类型[(大小)]三、删除表:Drop Table 表名数据操作语句四、添加记录1、添加一条记录并将指定的值填入指定字段Insert Into 表名[(字段名表)] Values(值列表)注:若所有字段都要填入字段且字段顺序与值的顺序一致则省略字段名表,否则必须加上2、将某查询结果追加到指定的一个已有表末(对应设计视图创建的“追加查询”)Insert Into 表名[(字段名表)] Select_Sql语句五、修改表数据(对应设计视图创建的“更新查询”)Update 表名 Set 字段名=表达式[Where 条件]注:若所有记录均要修改则省略[Where 条件],否则必须加上六、删除表记录(对应设计视图创建的“更新查询”)Delete From 表名[Where 条件]注:若删除所有记录则省略[Where 条件],否则必须加上七、SELECT数据查询语句格式Select [Top N [Percent]][Distint 字段名] * | 字段名表[Into 新表名]From 表名1 [ Inner Join 表名2 On 联接条件][Where 筛选条件[And][联接条件]][Group By 分组字段[Having 组筛选条件]][Order By 排序字段1 [Asc|Desc][,排序字段1 [Asc|Desc]][,…]]按功能分解格式(格式在应用时:汉字换成具体的内容,不再写格式中的方括号和尖括号等):1、查看表中全部数据Select * From 表名2、查看表中前n条记录Select Top N * From 表名3、查看表中前百分之n条记录Select Top N Percent * From 表名4、查看表中某字段的值有哪些(不重复)Select Distinct 字段 From 表名5、查看表中指定字段的值Select 字段名1,字段名2[,…] From 表名6、查看表中符合条件的记录内容Select * From 表名 Where 筛选条件7、查看表中符合条件的记录复制到新表中Select * Into 新表名 From 表名 Where 筛选条件8、按某字段升序查看表中的记录内容Select * From 表名 Order By 排序字段 Asc注:Asc可以省略9、按某字段降序查看表中的记录内容Select * From 表名 Order By 排序字段 Desc10、按某字段降序再按另一字段升序查看表中的记录内容Select * From 表名 Order By 排序字段1 Desc,排序字段211、按某字段分组统计表中的数据Select 分组字段名,计算表达式1 As 新列名[,…]From 表名 Group By 分组字段12、按某字段分组统计表中的数据,并显示符合条件的组Select 分组字段名,计算表达式1 As 新列名[,…]From 表名Group By 分组字段 Having 组筛选条件13、查看两表中的符合条件的数据Select 表名.字段名1, 表名.字段名1[,…] From 表名1 Inner Join 表名2 On 表名1.关联字段=表名2.关联字段 Where 筛选条件或:Select 表名.字段名1, 表名.字段名1[,…] From 表名1 , 表名2Where 表名1.关联字段=表名2.关联字段 And 筛选条件注: 表名1.关联字段=表名2.关联字段为联接条件。
MicrosoftAccess数据库中SQL语句大全

ACCESS数据库的SQL语句教学引子:如何找到ACCESS数据库的SQL视图:1)单击下图左侧的:2)单击上图顶部的,弹出如下图对话框:5)单击“关闭”,此时在菜单中的文件菜单下面出现一个SQL的下拉框;6)在“SQL”下拉框中选择如下图所示中的“SQL视图即可”。
1、查询所有记录:Select *通常用于快速查看表中的记录。
当对表的结构无法确切记忆时,或要快速查看表中的记录时,使用Select *是很方便的。
use 企业销售管理系统Select * from 职工2、投影查询:很多时候并不需要将所有列的数据都显示出来。
投影查询就是允许用户显示所需要的列。
假设显示职工表中职工号、姓名、工资信息,具体操作方法如下。
Select 职工号,姓名,工资from 职工在Select查询中,还可以按照实际的需要或自己的喜好安排显示列的顺序,如果要把姓名放到第一列,则代码如下:Select姓名, 职工号,工资from 职工3、条件查询:显示wh1或wh2仓库、性别不为女、工资在1300~2100之间的职工信息。
具体操作如下:Select * from职工号where(仓库号=’wh1’ or仓库号=’wh2’)And not 性别=’女’ and 工资>=1300 and 工资工资<=2100 在这里一定要注意,(仓库号=’wh1’ or仓库号=’wh2’)一定要加括号,否则就不是原题的意思。
4、谓词In查询:在查找特定条件的数据时,如果条件较多,就需要用到多个O r运算符,以查找满足其中任一条的记录。
但使用多个Or运算符,将使Where 子句变得过于冗长,这时使用In就非常清楚。
另外,在后面讲解的嵌套查询中,也必须使用In查询。
下面以显示zg1、zg2、zg11、zg15的订购单信息为例具体讲解一下。
使用Or运算符在SQL语句中,还支持Like与Not结合使用。
假设显示姓名中不含有“王”字的职工信息,具体代码如下:Select * from职工where 姓名not like’王%’在该例中,如果你知道姓名中含有“王”字,并且姓名只有两个字,那么可以进一步缩小查找范围,具体代码如下:Select * from职工where 姓名not l ike’王_’这样就可以查找到姓名中只有两个字,并且姓为“王”的职工信息。
Access一些常用的SQL语句

Access⼀些常⽤的SQL语句您可以将 Microsoft Office Access 2013 ⽤作创建、修改数据库以及处理数据的⼯具,还可将 Office Access 2013 ⽤作服务器数据库管理系统(如 Microsoft SQL Server)的前端(界⾯)。
通常,使⽤ Office Access 2013 作为前端应⽤程序时,需要链接到服务器数据库管理系统中的表,然后就像这些链接的表位于 Access 数据库中那样使⽤它们。
结构化查询语⾔ (SQL) 的处理由 Access 在您的本地计算机上执⾏。
不过,在某些情况下,您可能希望由服务器计算机执⾏ SQL 处理。
例如,您的台式机速度较慢,⽽数据库服务器计算机功能强⼤,此时在服务器计算机上处理查询可提⾼性能。
或者,您可能要运⾏位于服务器计算机上的存储过程(存储过程:由 SQL 语句和可选流控制语句组成的预编译集合,按⼀个名称存储,并作为⼀个单元处理。
此集合存储在 SQL 数据库中,可以通过某应⽤程序的⼀个调⽤运⾏。
),⽽在本地计算机上 Access 正在处理 SQL,那么将⽆法执⾏此操作。
要想在数据库服务器计算机上处理 SQL,请使⽤传递查询(传递查询:SQL 特定查询,可以⽤于直接向 ODBC 数据库服务器发送命令。
通过使⽤传递查询,可以直接使⽤服务器上的表,⽽不⽤让 Microsoft Jet 数据库引擎处理数据。
)。
连接到服务器数据库管理系统要连接到服务器数据库管理系统,您可将服务器数据库管理系统配置为 ODBC 数据源(ODBC 数据源:位于⽀持开放式数据库连接性(ODBC) 协议的程序或数据库中,需要进⾏访问的数据和信息。
)。
注释只有本地计算机的 Administrators 组的成员才可以配置 ODBC 数据源。
在 Windows Vista 中配置数据源1. 单击“开始”按钮,单击“控制⾯板”,然后执⾏下列操作之⼀:在分类视图中,单击“系统和维护”,然后单击“管理⼯具”。
access数据库导出sql语句

access数据库导出sql语句Access数据库是一种常用的关系型数据库管理系统,它可以通过导出SQL语句的方式将数据库中的数据和结构转移到其他系统中。
本文将列举一些常用的Access数据库导出SQL语句,并对其进行说明和示例。
1. 导出表的创建语句CREATE TABLE语句用于创建表,可以通过导出该语句来复制表的结构和字段定义。
例如,导出一个名为"employees"的表的创建语句可以使用如下的SQL语句:```sqlCREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(100),age INT,salary DECIMAL(10,2));```这个语句将创建一个名为"employees"的表,该表包含id、name、age和salary四个字段。
2. 导出表的插入语句INSERT INTO语句用于向表中插入数据,可以通过导出该语句来复制表中的数据。
例如,导出"employees"表中的数据可以使用如下的SQL语句:```sqlINSERT INTO employees (id, name, age, salary) VALUES (1, 'John Doe', 30, 5000),(2, 'Jane Smith', 25, 4000),(3, 'Michael Johnson', 35, 6000);```这个语句将向"employees"表中插入三条记录。
3. 导出表的修改语句ALTER TABLE语句用于修改表的结构,可以通过导出该语句来复制表的修改操作。
例如,导出向"employees"表中添加一个新字段"email"的修改语句可以使用如下的SQL语句:```sqlALTER TABLE employees ADD COLUMN email VARCHAR(100); ```这个语句将向"employees"表中添加一个名为"email"的新字段。
Access语句大全

SET =
WHERE a.ID = b.ID;
即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.
上例中如果Tab2可以不是一个表,而是一个查询,例:
UPDATE Tab1 a,(Select ID,Name From Tab2) b
字段名为关键字的字段用方括号[]括起来,数字作为字段名也可行.
建立索引:
下面的语句在Tab1的Date列上建立可重复索引
Create Index iDate ON Tab1 ([Date]);
完成后ACCESS中字段Date索引属性显示为 - 有(有重复).
下面的语句在Tab1的Name列上建立不可重复索引
if (Boolean_expression)
Begin
-- 执行 True 分支....
End
Else
Begin
-- 执行 False 分支
End
SET =
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为关联的所有记录.
在DELPHI中我这样用
SQL.Add(Format(
’Select * From Tab1 Where [Date]>#%s#;’,
[DateToStr(Date)]));
access sql语句查询

access sql语句查询、修改、删除查询时生成序号SELECT (SELECT Count([xlh].[aa]) AS AutoNum FROM xlh WHERE (((xlh.aa)<=xlh_Alias.aa));) AS 序号, xlh.aaFROM 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 第二个字段, FROM test, test1WHERE test.aa=test1.aa;多表sql查询1SELECT a.aa, b.bb, , *100 AS 合计FROM test AS a, test1 AS bWHERE a.aa=b.aa;多表sql查询排序SELECT a.aa, b.bb, AS 第三个字段FROM test AS a, test1 AS bWHERE a.aa=b.aaORDER BY ;查询例子SELECT a.dhhmFROM xl11a AS a, xl919 AS bWHERE 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.ghFROM chhl AS a, jbsj AS bWHERE a.dhhm=b.dhhm);如果Tab2可以不是一个表,而是一个查询UPDATE Tab1 a,(Select ID,Name From Tab2) bSET = WHERE a.ID = b.ID;UPDATE Tab1 a,Tab2 bSET = WHERE a.ID = b.ID;访问多个不同的ACCESS数据库-在SQL中使用In子句,外部数据库不能带密码Select a.*,b.* From Tab1 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.dhhmFROM xl11 AS a, xl919 AS bWHERE a.dhhm=b.dhhm;);完成后ACCESS中字段Name索引属性显示为--有(无重复)Create Unique Index iName ON Tab1 (Name);下面的语句删除刚才建立的两个索引Drop Index iDate ON Tab1;Drop Index iName ON Tab1;。
access常用的SQL语句整理

基本SQL语句查询表1、Select * from 职工2、Select 职工号,姓名,工资from 职工And 、and notSelect * from 职工号where(仓库号='wh1' or 仓库号='wh2') And not 性别='女' and 工资>=1300 and 工资<=2100Or inSelect * from 订购单where 职工号='zg1' or 职工号='zg2' Or 职工号='zg11' or 职工号='zg15'Select * from 订购单where 职工号in('zg1', 'zg2', 'zg11', 'zg15')Select * from 订购单where 职工号!='zg1' or 职工号!='zg2' Or 职工号!='zg11' or 职工号!='zg15'Select * from 订购单where 职工号not in('zg1', 'zg2', 'zg11', 'zg15')模糊查询通配符:% _ [] [^]Select * from 职工where 姓名not like'王%'Select * from 职工where 姓名not like'王%_'空值null查询Select * from 职工where 姓名is nullBetween …andSelect * from 职工where 工资not between 1300 and 1900显示无重复的数据Select distinct 工资from 职工表单表嵌套查询多级嵌套查询函数多级排序分组查询In 和Exists 的区别:Exists 用于判断是否返回查询语句, In 用于表保存查询:合并查询:交集查询:超连接内连接:插入数据更新数据删除数据。
Access SQL查询语句学习

Access SQL查询语句学习
1. 引言
SQL(Structured Query Language)是一种通用的数据库查询语言,用于管理和操作关系型数据库。
在Access数据库中,可以使用SQL查询语句来检索、过滤和排序数据,以及对表进行增删改操作。
本文将介绍Access SQL查询语句的基本用法和常见示例。
2. 查询语句的基本结构
在Access中,使用SELECT语句来执行查询操作。
SELECT语句的基本结构如下:
SELECT 列名1, 列名2, ...
FROM 表名
WHERE 条件
ORDER BY 排序条件
•SELECT关键字用于指定要返回的列,可以使用逗号分隔多个列;
•FROM关键字用于指定要查询的表;
•WHERE关键字用于指定查询条件,可选;
•ORDER BY关键字用于指定排序条件,可选。
3. 查询所有的数据
要查询表中的所有数据,可以使用以下语句:
SELECT*
FROM表名;
这样会返回表中所有的列和行。
4. 查询指定的列
如果只想查询表中的部分列,可以使用以下语句:
SELECT列名1, 列名2, ...
FROM表名;
列名之间用逗号分隔,可以查询多个列。
5. 查询带有条件的数据
如果只希望返回满足特定条件的数据行,可以使用WHERE关键字来添加查询条件。
例如,查询表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ACCESS数据库的SQL语句教学引子:如何找到ACCESS数据库的SQL视图:1)单击下图左侧的:2)单击上图顶部的,弹出如下图对话框:5)单击“关闭”,此时在菜单中的文件菜单下面出现一个SQL的下拉框;6)在“SQL”下拉框中选择如下图所示中的“SQL视图即可”。
1、查询所有记录:Select *通常用于快速查看表中的记录。
当对表的结构无法确切记忆时,或要快速查看表中的记录时,使用Select *是很方便的。
use 企业销售管理系统Select * from 职工2、投影查询:很多时候并不需要将所有列的数据都显示出来。
投影查询就是允许用户显示所需要的列。
假设显示职工表中职工号、姓名、工资信息,具体操作方法如下。
Select 职工号,姓名,工资from 职工在Select查询中,还可以按照实际的需要或自己的喜好安排显示列的顺序,如果要把姓名放到第一列,则代码如下:Select姓名, 职工号,工资from 职工3、条件查询:显示wh1或wh2仓库、性别不为女、工资在1300~2100之间的职工信息。
具体操作如下:Select * from职工号where(仓库号=’wh1’ or仓库号=’wh2’)And not 性别=’女’ and 工资>=1300 and 工资工资<=2100 在这里一定要注意,(仓库号=’wh1’ or仓库号=’wh2’)一定要加括号,否则就不是原题的意思。
4、谓词In查询:在查找特定条件的数据时,如果条件较多,就需要用到多个O r运算符,以查找满足其中任一条的记录。
但使用多个Or运算符,将使Where 子句变得过于冗长,这时使用In就非常清楚。
另外,在后面讲解的嵌套查询中,也必须使用In查询。
下面以显示zg1、zg2、zg11、zg15的订购单信息为例具体讲解一下。
使用Or运算符在SQL语句中,还支持Like与Not结合使用。
假设显示姓名中不含有“王”字的职工信息,具体代码如下:Select * from职工where 姓名not like’王%’在该例中,如果你知道姓名中含有“王”字,并且姓名只有两个字,那么可以进一步缩小查找范围,具体代码如下:Select * from职工where 姓名not l ike’王_’这样就可以查找到姓名中只有两个字,并且姓为“王”的职工信息。
6、空值NULL查询:在SQL语句中使用IS NULL来进行是否为空的判断。
下面以显示性别为空的职工信息为例具体讲解一下。
Select * from职工where 性别is null假设显示性别不为空的职工信息,具体代码如下:Select * from职工where 性别is not null7、限制范围Between…And查询:在数据医疗队引擎查询中,限制范围也是经常使用的一个条件。
当然可以使用大于等于号、小于等于号和And运算符三者来完成范围的限制,但使用Between…And结构,会使SQL更清楚。
下面以显示工资在1300~1900之间的职工信息为例具体讲解一下。
Between…And语句Select * from职工where 工资Between 1300 And 1900大于等于号、小于等于号与And运算符Select * from职工where 工资>=1300 And 工资<=1900在SQL语句中,还支持Between…And与Not结合使用。
假设显示工资不在1300~1900之间的职工信息,具体代码如下:Between…And语句Select * from职工where 工资not Between 1300 And 1900大于等于号、小于等于号与And运算符Select * from职工where 工资<=1300 And 工资>=19008、消除重复字段数据Distinct查询:在SQL投影查询中,可能会有许多重复的数据,使用关键字Distinct就可以从结果集中除去重复的数据。
下面以显示职工的工资信息为例具体讲解一下:显示有重复的数据Select 工资from职工显示无重复的数据Select Distinct工资from职工9、单表嵌套查询:就是外层Select语句与内层Select语句都来源于同一张表。
下面以显示仓库面积大于wh1仓库面积的仓库信息为例来讲解一下。
首先利用Select语句求出wh1仓库的仓库面积,然后再显示面积大于该值的仓库信息。
Select * from仓库where 面积>(select 面积from 仓库where 仓库号=’wh1’)嵌套查询中也可以带有逻辑运算符、谓词In、Like、Between…And结构。
假设显示wh1或wh2仓库的工资不大于职工zg16工资的职工信息,并要求职工姓名不含有“平”字。
首先利用Select语句求出职工zg16的工资,然后再对姓名进行模糊查询。
Select * from职工where 工资<=(select 工资from 职工where 职工号=’zg16’) and 姓名not like ‘%平%’ and 仓库号in(‘wh1’, ‘w h2’)10、多表嵌套查询:多表嵌套查询就是外层Select语句与内层Select语句来源于不同的表,但表之间要存在关系。
这也是SQL语句中最重要的查询。
下面以显示北京地区的职工信息为例来讲解一下。
首先利用Select语句求出北京地区的仓库号,然后利用仓库号再显示职工信息。
use 企业销售管理系统Select * from 职工where 仓库号in(select 仓库号from where 城市=’北京’)不仅可以实现两个表的嵌套,还可以实现多个表的嵌套,假设显示北京地区的职工的订购单信息。
首先利用Select语句得到北京地区的仓库号,然后利用得到的仓库号得到该仓库中的职工号,再利用得到的职工号得到职工的订购单信息。
Select * from 订购单where 职工号in(Select 职工号from 职工wh ere 仓库号in (select 仓库号from 仓库where 城市=’北京’))多表嵌套查询中也可以带有逻辑运算符、谓词In、Like、Between、And 结构。
假设显示北京地区的职工的订购单信息,并且职工的工资大于1200,订购日期为2003年9月3日~2006年1月1日。
Select * from 订购单where 职工号in(Select 职工号from 职工wh ere 工资>1200 and仓库号in(select 仓库号from 仓库where 城市=’北京’))and 订购日期between ‘2003-09-03’ and ‘2006-01-01’11、单级排序查询:排序的关键字是Order by,默认状态下是升序,关键字是Asc。
降序排列的关键字是Desc。
排序字段可以是数值型,也可以是字符型、日期时间型。
下面以按工资从高到低显示职工信息为例来讲解一下。
Select * from 职工Order by 工资desc在排序查询中还可以带有逻辑运算符、谓词In、Like、Between、And结构。
假设显示wh1或wh2仓库的,工资不大于职工zg16工资的职工信息,并要求职工姓名不含有“平”字,按工资从低到高显示。
首先利用Select语句求出职工zg16的工资,然后再对姓名进行模糊查询,最后再排序。
在使用统计函数时,还要注意COUNT()、SUM()、AVG()可以使用DISTI NCT关键字,以在计算机中不包含重复的行。
而对于MAX()、MIN()、COUNT (*),由于不会改变其结果,因此没有必要使用DISTINCT。
利用SELECT语句显示统计值是没有列名的,下面以显示职工的最大值、最小值、工资总和、平均工资、职工人数为例来讲解一下。
Select max(工资),min(工资), SUM(工资),avg(工资),count(*) from 职工这时会发现统计值没有列名,现在来给统计字段添加列名。
Select max(工资)as 最大工资,min(工资) as最小工资, SUM(工资)as 工资总和,avg(工资)as 平均工资,count(*) as 职工人数from 职工在统计函数中还可以加条件,假设显示工资大于1500的职工的最大值、最小值、工资总和、平均工资、职工人数信息。
Select max(工资)as 最大工资,min(工资) as最小工资, SUM(工资)as 工资总和,avg(工资)as 平均工资,count(*) as 职工人数from 职工where 工资>150014、带有统计函数的嵌套查询:还可以利用统计函数得到的数据作为Sele ct查询语句的条件进行查询。
下面以显示工资大于所有职工平均值的职工信息为例来讲解一下。
Select * from 职工where 工资>(select avg(工资) from 职工)在统计函数查询中可以带有比较运算符、逻辑运算符、In、Between…And 等。
假设显示工资大于wh1或wh2仓库中职工平均工资,并且职工姓名不含有“亮”字的职工信息。
Select * from 职工where 工资>(select avg(工资) from 职工where 仓库号==’wh1’ or仓库号==’wh2’) and 姓名not like ‘%亮%’15、统计函数字段显示在表字段中及运算字段:如果在职工表中添加一个职工平均工资值字段,这就对实际编程有很大的意义,即可以利用平均字段进行运算,大大提高编程速度。
下面以在职工表中添加平均工资为例为讲解一下。
Select 职工.*,(select avg(工资) from 职工) as 平均工资from 职工在职工表中添加了一个平均工资字段,即在SELECT查询字段中添加了一个SELECT子查询。
在SELECT查询中,还可以计算出每名职工的工资与所有职工平均工资之差,具体操作如下:Select 职工.*,(select avg(工资) from 职工) as 平均工资,工资-(select avg(工资) from 职工) as 平均工资的差from 职工16、分组查询:使用GROUPBY分组查询,要注意分组的标准一定要有意义,如显示不同仓库的平均工资,显示不同职工的最大订单金额等。
如果显示不同职工的平均工资那就没有意义了。
下面显示不同仓库的平均工资、工资和、最大工资、最小工资、工资人数信息为例来讲解一下。
Select 仓库号,max(工资)as 最大工资, min(工资)as 最小工资, su m(工资)as 工资总和, avg(工资)as 平均工资, count(*)as 职工人数from 职工group by 仓库号在分组查询中还可以带有逻辑运算符、谓词In、Like、Between…And结构。