我遇到了
create table new_table as select * from old_table where 1=2;
where 1=2
条件的含义是什么,它执行的功能是什么?
答案 0 :(得分:3)
1=2
始终评估为false。这是使用create as select来复制表结构而不复制任何行的常见技巧(因为它们都不会通过1=2
的测试。)
答案 1 :(得分:1)
只是它会复制table
中存在的data
而不是table
的结构。 1=0 or 1=2
将始终在where子句中返回false,因此select query
不会从表中返回任何rows
,这只是创建table
的技巧,就像另一个table
一样在schema
。
答案 2 :(得分:1)
1 = 2实际上导致在创建新表时没有选择旧表中的当前记录,因此您只使用旧表的结构来创建新表。
答案 3 :(得分:0)
WHERE 1=2
表示错误情况,表中不会从表中获取任何行,目标表将类似于除数据之外的源表