发现一个以前一直没注意到的问题

huxin1 2004-08-15 06:52:14
(1)建两个表
create table product(pro_id char(6),pro_name varchar(20));
create table product_test(pro_id_test char(6),pro_name_test varchar(20));
(2)在第一个表中插入数据
insert into produt values('090842','鸡蛋')
insert into produt values('125360','面包')
第二个表让它保持没有数据
(3)查询:select product.* from product,product_test
(4)结果如下:pro_id pro_name
------ --------------------

(所影响的行数为 0 行)

我的疑问 :按我的理解应该可以查出那两条记录啊,两个表我并没有关联啊,为什么会出现这样的结果呢?
...全文
68 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gtxcsdn 2004-08-15
  • 打赏
  • 举报
回复
"cross join" instead of "FULL",accurate!
rea1gz 2004-08-15
  • 打赏
  • 举报
回复
不是Bug

from product,product_test ===from product cross join product_test
就是迪卡尔积,一个表没有记录的结果就是没有记录,就象Y*0=0一样
gtxcsdn 2004-08-15
  • 打赏
  • 举报
回复
Bug? 可能默认的是FULL吧,即结果是两个表的迪卡尔积,有N1*N2条F1+F2个字段的记录。
Littleming 2004-08-15
  • 打赏
  • 举报
回复
强!发现SQL的一个Bug,你试一试在第二张表中随便插入一条记录,不能让他置空就正常了

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧