在oracle中,当我这样做时:从table1中选择table1.col1,从table2中选择table2.col2
它给了我所有记录的并集,结果列的名称是col1.
由于列名不匹配,不应该抛出错误吗?
只要列数据类型不匹配,列名将始终来自第一个查询.它不应该(并且,正如您所发现的那样)不会抛出错误.
如果数据类型不匹配,即使可以进行隐式转换,通常也会出现错误
SQL> /
select 1 a from dual union select '2' from dual
*
ERROR at line 1:
ORA-01790: expression must have same datatype as corresponding expression
SQL> /
select '1' a from dual union select 2 from dual
*
ERROR at line 1:
ORA-01790: expression must have same datatype as corresponding expression
Run Code Online (Sandbox Code Playgroud)