SQLServer2005与Access语法差异详解
5星 · 超过95%的资源 需积分: 10 104 浏览量
更新于2024-11-20
收藏 34KB TXT 举报
"这篇文档是关于SQL Server 2005和Access两种数据库管理系统在SQL语法上的区别的综合总结。作者收集了大量的资料,旨在提供一个全面的对比参考文本。"
在SQL Server 2005和Access之间,SQL语法存在一些显著的差异,主要体现在以下几个方面:
1. 版本发布日期:
- Access的版本日期标注为#1981-28-12#,而SQL Server 2000的发布日期是1981-02-12。这表明Access的历史可能晚于SQL Server。
2. `SELECT`和`UPDATE`语句:
- 在执行`SELECT`和`UPDATE`联合操作时,SQL Server允许在一个`UPDATE`语句中包含`FROM`子句,例如:
```sql
UPDATE Tab1
SET a.Name = b.Name - 122
FROM Tab1 AS a, Tab2 AS b
WHERE a.ID = b.ID;
```
- 相比之下,Access中的`UPDATE`语句不支持`FROM`子句,更新操作需要分开写,如:
```sql
Update Tab1 AS a, Tab2 AS b
SET a.Name = b.Name
WHERE a.ID = b.ID;
```
3. `DELETE`语句:
- Access删除记录时需要先`SELECT`,例如:
```sql
DELETE * FROM Table1 WHERE A > 2;
```
- SQL Server可以直接执行删除操作,无需`SELECT`:
```sql
DELETE FROM Table1 WHERE A > 2;
```
4. 列别名(Alias):
- Access中,列别名使用`AS`关键字时,不支持在别名后跟计算表达式,如:
```sql
SELECT A, SUM_Num AS KC_Num, SUM_Num * Num AS All_KC_Num FROM ...
```
- SQL Server则支持这样的列别名定义:
```sql
SELECT A, SUM(Num) AS KC_Num, SUM(Num) * Num AS All_KC_Num FROM ...
```
5. 字段引用:
- Access中查询字段时,使用感叹号(!)来访问,如`tab1!a`,而在SQL Server中,使用点号(.)来表示,如`tab1.a`。
6. 子查询与分组:
- Access的子查询与分组可能需要更复杂的语法,如:
```sql
SELECT A, B
FROM (
SELECT A, B FROM Tab1 WHERE A > 3
UNION
SELECT C, D FROM Tab2
) GROUP BY A, B;
```
- SQL Server的子查询和分组则更为直接:
```sql
SELECT A, B
FROM (
SELECT A, B FROM Tab1 WHERE A > 3
UNION
SELECT C, D FROM Tab2
) t
GROUP BY A, B;
```
这些差异体现了Access作为一个轻量级数据库系统,其语法相对简单,而SQL Server作为企业级数据库,提供了更丰富的功能和更复杂的操作。在实际开发和使用过程中,了解这些区别有助于更高效地编写和维护SQL脚本。
2008-07-08 上传
205 浏览量
106 浏览量
2008-11-24 上传
2022-01-05 上传
2021-10-27 上传
2013-02-19 上传
2009-07-16 上传
runber
- 粉丝: 0
- 资源: 2
最新资源
- StateEstimationforRobotics-CN.pdf.tar.gz
- Desktop,c语言火车票订票管理源码,c语言
- node-font-list:获取系统中安装的字体列表
- 菲尼克斯微型继电器手册.rar
- MICROMAKEL3+ 3ds chitubox插件
- Honeywell_hackathon
- developer-knowledge:独立的增强型知识项目分层清单,可以成为更好的软件开发人员。 标题
- h2gis,H2数据库的空间扩展。.zip
- NewtonJson.rar
- shell:一种用于IBM Cloud Functions and Composer的基于电子的开发工具
- 20210315-中国联通-通信行业:5G终端白皮书V4(2021年度).rar
- 单片机频率计仿真protues
- 情人节图标 .svg素材下载
- Android_Projects:我尝试学习Android开发时所做的旧项目
- 主题默认值:Hexsoftstudio CSS默认值
- Gestrue,安卓、安卓、安卓.zip