症状描述:
数据库:oracle10g
把sql输出到控制台,然后在Navicat中运行,没有错误。但是在MyEclipse中报错。
解决方法:
我用的是insert into tablea(aaa) values('123');
把最好的;去掉即可。
sql server中表名前可加dbo.表名,在oracle中不可加。
sql server中起别名as可加可不加。
oracle中字段起别名要加as,表起别名不能加as。
sql server中的表字段名称可包含大小写。
oracle中的表字段名称全为大写。这样导致查出的字段名称必须转为小写,否则APP端接受的全是大写。示例:
SELECT q.id AS \"id\" FROM Question q
列举一些在sql server中是关键字,但在oracle中不是关键字的值:
common、[]。
common不能作为oracle的表的字段名或表名。
当查询语句中包含[]时将会出错~比如起别名时SELECT * FROM Question [q],这样子用法报错~
原文:http://www.cnblogs.com/Ewin/archive/2009/10/05/1578322.html
内连接和外连接区别:
1)内连接是获取两表的公共部分的记录,即图中的记录集C。语句:select * from A JOIN B ON A.Aid=B.Bnameid。效果等同于select * from A, B where A.Aid=B.Bnameid。
2)外连接分为左连接和右连接。
a、左连接:公共部分记录集C和表A记录集A1
select * from A Left JOIN B ON A.Aid=B.Bnameid
b、右连接:公共部分记录集C和表B记录集B1
select * from A Right JOIN B ON A.Aid=B.Bnameid