access
采用
sql
语句与
sql
的区别
Access
中提供查询对象,在设计时可以采用设计视图和
SQL
视图,非常方便,
SQL
视图中的
SQL
语句可
以在
SQL
SERVER
中使用,但是否完全可用呢?答案是否定的,表中总结了
Microsoft
Access
和
Micros
oft
SQL
Servers
的
SQL
语法的重要区别。
表
1
SQL
语法元素
Microsoft
Access
Microsoft
SQL
Server
标识符
限制不超过
64
个字符。
允许使用关键字和特殊字符。
可以用任何字符开头。
SQL
Server
6.5
:
限制不超过
30
个字符。
不允许使用关键字和特殊字符。
必须用字母字符开头。
SQL
Server
7.0
的标识符与
Access
完全
兼容。
输出字段
允许多个输出字段具有相同名称。
在视图中不支持多个相同输出字段名。
日期分隔符号
英镑符(
#
)
撇号(
'
)
Boolean
常量
True
、
False
;
On
、
Off
;
Yes
、
No
。
整数:
1
(真)、
0
(假)
字符串连接
和号(
&
)
加号(
+
)
通配符
星号(
*
)与零个或更多字符匹配。
问号(
?
)与单个字符匹配。
叹号(
!
)意味着不在列表中。
英镑符(
#
)意味着单个数字。
百分号(
%
)与零个或更多字符匹配。
下划线(
_
)与单个字符匹配。
上插入符(
^
)意味着不在列表中。
没有与英镑符(
#
)对应的字符。
TOP
如果有一个
ORDER
BY
子句,自
动包含层次。
SQL
Server
6.5
不支持。
SQL
Server
7.0
需要一个明确的
WITH
TIES
子句。
CREATE
INDEX
允许创建升序和降序索引。
允许声明主键,
没有
Null
值,
并且
忽略
Null
值。
DROP
INDEX
语法是:
Drop
Index
name>
ON
ble
name>
语法是:
Drop
Index
name>,
name>
DISTINCTROW
支持(允许选择单个记录)。
不支持。
OWNERACCESS
支持(在执行时控制许可权)。
不支持。
Table
in
UNION
支持(允许使用下列语法指定表:
TABLE
不支持。
ORDER
BY
in
Unions
支持。允许通过联合查询中的子句
实现多种排序。
支持。允许通过语句末尾的子句实现一种
排序。
TRANSFORM
支持。用于交叉表查询。
不支持。
PARAMETERS
支持(在
SQL
中记录)。
不支持。
以
northwind
数据库为例,若要得到相同查询结果,
SQL
语句作相应变化。主要是通配符的变化
Access
:
SELECT
*
FROM
Products
where
productname
like
'c*';
SELECT
*
FROM
Products
where
productname
like
'c?ang';
SQL
Server: