我试着没有这种问题啊SQL> select * from tb1;NAME
----------
GN3
GN1
GN2
GN4
GN5实际:90
SQL> select * from tb1 where name=name;NAME
----------
GN3
GN1
GN2
GN4
GN5实际:70
----------
GN3
GN1
GN2
GN4
GN5实际:90
SQL> select * from tb1 where name=name;NAME
----------
GN3
GN1
GN2
GN4
GN5实际:70
解决方案 »
- oracal数据库中表jd_jl_blatoconv中的数据删不掉
- 求一SQL语句
- oracle的sql语句问题,请熟悉sql语句的人过来帮忙
- 需要一个函数 知道一个字符串在另一个字符串中出现几次
- 光标上移问题
- 请问各位老it的前辈们,你们知道这个问题的答案吗?
- select * from table where (日文字符),系统错误,请帮忙.
- 如何编程得到某个oracle数据表的建表语句(create table)?
- 请问高人如何在ORACLE中根据系统时间设置触发器。
- 初级问题:oracle中的id问题
- pl/sql developer这个工具哪里有正式版?
- SQL函数转ORACLE函数 ,在线等待,有点难度!
select * from info是一致的。
select * from info e1,info e2 where e1.name=e1.name;
会出现3的二次方的记录数;
如果是select * from info e1,info e2,info e3 where e1.name=e1.name;
会出现3的三次方的记录数;然后以次类推。实在是非常的困惑也,请高人指点
这是笛卡儿乘积现象。
比如:tab_1中5条记录,tab_2中3条记录,则
select * from tab_1,tab_2;返回 5 * 3 = 15条记录
因为你的from 后的两个表同名,即记录数相等,所以结果是记录的平方,三次方。
笛卡儿积本身是当e1与e2没有关联时产生,现在e1.name=e1.name恒为真,也就一样了。