1
简而言之,加入,如果临时表存在
我如何创建我的临时表
CREATE TEMPORARY TABLE _tmp_table SELECT * FROM db1;
然后,
# if tmp_table does exist
SELECT db2.*, _tmp_table.* FROM 'db2' LEFT OUTER JOIN _tmp_table ON _tmp_table.key = db2.id;
# if tmp_table does NOT exist
SELECT db2.* FROM db2;
我怎样才能让只有一个查询对付我的临时表中的现有或不?
Env:Mysql 5.5.15
。
为什么不每次都创建临时表。如果你没有放入任何东西,左连接仍然会返回'db2。*'的所有行。 – Barmar 2013-04-04 06:29:21
@Barmar会不会对性能造成不良影响? – oldergod 2013-04-04 06:43:41
我不这么认为 - 它不应该花费太多精力来告诉它它正在与一张空桌子结合。 – Barmar 2013-04-04 06:45:34