互联网服务

优化器问题,大家一起看看

最近遇到一个很有特点的优化器问题,大家一起分析分析。代码如下:CREATE TABLE TEST.A (NO INTEGER, NAME VARCHAR(20) ); CREATE TABLE TEST.B (DEPT VARCHAR(20) ); INSERT INTO TEST.A VALUES ( 1 , 'SMITH'); INSERT INTO TEST.A VALUES ( 2 , 'JACK'); INSERT INTO TEST.B VALUE...显示全部
最近遇到一个很有特点的优化器问题,大家一起分析分析。

代码如下:
CREATE TABLE TEST.A
(NO INTEGER,
NAME VARCHAR(20)
);

CREATE TABLE TEST.B
(DEPT VARCHAR(20)
);

INSERT INTO TEST.A VALUES ( 1 , 'SMITH');
INSERT INTO TEST.A VALUES ( 2 , 'JACK');

INSERT INTO TEST.B VALUES ( 'HR');

SELECT NO , NAME FROM TEST.A WHERE NAME IN ( SELECT NAME FROM TEST.B );

正常情况下,这个语句应该报错,B表中没有NAME字段。
可测试后发现会把A中所有的记录都返回。

怀疑优化器出现问题,大家可以测试一下,然后一起分析是什么问题。收起
参与10

查看其它 8 个回答菜菜鸟一号的回答

菜菜鸟一号菜菜鸟一号数据库管理员龙信科技
路过!
互联网服务 · 2013-07-31
浏览1214

回答者

菜菜鸟一号
数据库管理员龙信科技

菜菜鸟一号 最近回答过的问题

回答状态

  • 发布时间:2013-07-31
  • 关注会员:1 人
  • 回答浏览:1214
  • X社区推广