MySQL写多表联合查询时经常用到as来达到简写表或者字段的目的, 比如:
select a.id as id,b.name as name from table1 as a, table2 as b where a.id=b.id
这样的 写法在oracle里面不能被识别,因为oracle里面不需要as, 所以oracle的写法如下
select a.id id,b.name name from table1 a, table2 b where a.id=b.id
但是值得注意的是,oracle并不完全排斥as, 只是在from talbe处不能使用,所以这样的写法也是别oracle接受的
select a.id as id,b.name as name from table1 a, table2 b where a.id=b.id
另外我还发现的一个与as无关,但是与简写有关的问题,比如单表查询时,我们也可以用简写:
select a.id as id,a.name as name from table1 a
但是使用上一篇提到的rownum时,oracle却不接受这样的写法:
select a.id as id,a.name as name from table1 a where a.rownum<30
因为,oracle不认为rownum是上面table1的一个字段,而只是在处理SQL查询时自动生成的序列而已。我们只能这么写:
select a.id as id,a.name as name from table1 a where rownum<30
本文为寻找人生的起点(http://blog.cn-ic.org)原创,如需转载,请注明出处,并保留原文链接 http://blog.cn-ic.org/?p=82。
[…] 最新评论 PHP&Oracle学习笔记之:AS | 寻找人生的起点发表于《PHP&Oracle学习笔记之:limit》simon发表于《个人相册》tiana发表于《个人相册》114.sds.cn发表于《网络运营商创造了DNS劫持和广告推送,有线电视运营商将其发扬光大》Zhu8发表于《秘密网上最BH的秘密以及最BT的回复》 […]