易截截图软件、单文件、免安装、纯绿色、仅160KB

Sqlserver与access数据库sql语法十大差异

世事洞明皆学问,人情练达即文章。做ASP时,最常用的数据库即Sqlserver与Access数据库莫属了!
但使用会经常发现很多SQL执行的问题。这里整理出之间的差异,做个十大差异的总结。
ACCESS结构简单容易处理,而且也能满足多数的网站程序要求,也是初学者的试牛刀。
ACCESS是小型数据库,既然是小型就有他根本的局限性:
1)、数据库过大,一般ACCESS数据库达到50M左右的时候性能会急剧下降!
2)、网站访问频繁,经常超过100人的在线时,处理速度会有影响!
3)、记录数过多,一般记录数达到10万条左右的时候性能就会急剧下降!
微软公司为了与ACCESS高低搭配的一种高端方案:改用了Sqlserver,但语法会有一些差异。
1、select,update语句区别
select,update对于单表操作时基本一致。  
但多表操作时update语句的区别ACCESS与SQLSERVER中的UPDATE语句会有差别:
SQLSERVER中更新多表的UPDATE语句:  
   UPDATE Table1 SET a.Name = b.Name from Table1 a, Table2 b WHERE a.ID = b.ID;  
ACCESS中同样功能的SQL语句:
   UPDATE Table1 a, Table2 b SET a.Name = b.Name WHERE a.ID = b.ID;
比较得出:ACCESS中的UPDATE语句没有from子句,所有引用的表都列在UPDATE关键字后,这点同mysql;  
2、delete语句  
   SQLSERVER中:DELETE from Table1 WHERE ID > 1;
   Access中:DELETE * from Table1 WHERE ID > 1;
比较得出:SQLSERVER中,即只要把select语句里的select与delete的操作语法一致的,不需要*;
  
3、as后面的计算字段区别
   SQLSERVER中:SELECT a.sum(num) as sum_num, sum(num)*num as all_num;   即  
   Access中:     SELECT a,sum(num) as sum_num, sum_num*num   as all_num;   即
比较得出:
SQLSERVER中:不可以把AS后的字段当作一个数据库字段参与计算。
Access中: 可以把AS后的字段当作一个数据库字段参与计算。  
4、「.」与「!」的差异
   SQLSERVER中:SELECT Table1.a AS Table1a, Table2.b AS Table2b from Table1, Table2;
   Access中:   SELECT Table1!a AS Table1a, Table2!b AS Table2b from Table1, Table2;
比较得出:
「!」使


相关文档:

access关联删除的问题

问题:
 有二个表
A表:
id Comment yuyan lanmuid
1 aaaa  chinese 1
2 bbbb english 1
3 cccc chinese 2
4 ddddd  english 2
B表:
id lanmu
1 公司简介
2 联系方式
3 经营范围
在删除B表的一行数据时会把A表关联ID的数据也删除,请问有什么好方法?我不想操作2次删除的语句.
解决方 ......

SQLSERVER修复小知识

在与数据库打交道的工作中时常会碰到一些数据库的错误,这就涉及到了修复的过程,以下知识点都是从网上收集而来:
1、dbcc checkdb
这个命令恐怕是我们最常用的了,带检查和修复功能
语法格式:
DBCC CHECKDB
[
[ ( database_name | database_id | 0
[ , NOINDEX
| , { REPAIR_ALLOW_DATA_LOS ......

数据库SQL语句使用(一)

  数据库sql语句系列都是以下面的表为基础的
1.       写出步骤4中的各项操作的SQL语句。
① 给学生表增加一属性Nation(民族),数据类型为Varchar(20);
alter table Student add Nation varchar(20);
 
② 删除学生表中新增的属性Nation;
alter table Student DR ......

sql 知识

 select datediff(month,'2009-11-02','2009-12-01')
不知道你要怎么个月差异
上面的命令结果也是1
但是其实按照常识差异不是一个月,是差一天一个月
这有段现成的代码可以帮助你算出常识上的差异
SQL code
declare @t table(a datetime,b datetime);
insert @t
select '2009-11-02','2009-12-01' UNION ......

SQL语言基础考核(二)(oracle)

 2.根据Oracle 数据库scott 模式下的emp 表和dept 表,完成下列操作:
      (1) 查询20号部门的所有员工信息;
      (2) 查询所有工种为CLERK 的员工的员工号、员工名和部门号;
      (3) 查询奖金COMM 高于工资SAL 的员工信息;
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号