首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Access中的SQL和MS SQL Server中的SQL

Access中的SQL和MS SQL Server中的SQL
EN

Stack Overflow用户
提问于 2012-01-09 10:33:22
回答 3查看 2.5K关注 0票数 1

我听说SQL在不同的程序中基本上是一样的,但也有一些不同之处。我想知道Access (2007 )和MS SQL Server在SQL上有什么不同吗?我想知道是因为我经常使用Access并想从书中学习SQL,我想知道一本使用MS SQL Server的书是否能满足我的目的?我正在考虑"Access 2007纯SQL“和”入门SQL Joes 2 Pros",其中第二个使用MS SQL Server。谢谢你的帮助!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-09 10:36:50

这里有多个不同之处,甚至连字符串连接运算符这样简单的东西都有。Access使用&,SQL Server使用+。SQL就像英语一样。有英国英语、加拿大英语、美国英语、澳大利亚英语等。多种方言,大部分但不是完全兼容。

这并不是说事情是完全不兼容的-在任何DBMS上学习SQL都是有用的,因为关系数据库的核心概念保持不变,无论您使用的是哪种DBMS。只是你和他们的接口方式不同而已。

票数 7
EN

Stack Overflow用户

发布于 2012-01-09 10:50:56

MS Access使用JET SQL,而SQL Server使用Transact SQL。在大多数情况下,它们非常相似。SQL通常是为管理关系数据库管理系统中的数据而设计的编程语言。所以所有的口味都有一个共同的子集。但也存在差异。有关更多信息,请参阅Convert Microsoft Access (JET SQL) to SQL Server (T-SQL) Cheatsheet上的这篇文章。web上还有许多其他资源,但这应该会让你快速了解一些不同之处。

票数 6
EN

Stack Overflow用户

发布于 2012-01-09 17:30:19

我想说的是,Access SQL和T-SQL (SQL Server)的区别多于相似之处。任何相似的外观都是由于1)都是基于SQL-89标准(但T-SQL和标准都有很大的进步,访问不是如此),2) SQL Server团队试图使Access2000 (Jet4.0)符合入门级SQL-92标准(事实上的“最低标准”),但失败了。

例如,UPDATE语句。在其最简单的形式中,即涉及文字或输入参数(标量)值,两者大体上是相同的。然而,当使用来自另一个表的值更新一个表时,最新的T-SQL语法(2008)支持SQL-92标量子查询语法、具有有用的专有扩展的SQL-99和SQL:2003标准的MERGE语法,以及其较早的专有UODATE..FROM语法( should be avoided nowadays,因为它允许潜在的歧义结果),所有这些都可以可选地使用SQL:2003常用表表达式(对于简化SQL-92标量子查询语法很有用)。

对于Access,您必须使用其专有的SQL语法,这与T- UPDATE..FROM专有的UPDATE..FROM语法不同,但具有相同的问题,即可能导致不明确的结果(但这一次无法避免!),除非query involves aggregated values in which case you cannot use SQL at all (!!)并且必须求助于客户端(非SQL )过程代码(因为Access不支持过程SQL代码,这是与T-SQL的另一个巨大区别)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8783336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档