本文介绍了为什么这个查询使我的整个数据库冻结?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

SELECT * FROM `groupon-spain-6sep-2011`, `Hoja1`,`GroupaliaJuly2011` 
WHERE `groupon-spain-6sep-2011`.`code`= 5654 
    OR  `Hoja1`.`code` = "5654 
    OR `GroupaliaJuly2011`.`code` = 5654


推荐答案

您缺少将表关联到彼此的任何连接条件,因此正在执行3个表的笛卡尔连接。

You are missing any join condition relating the tables to each other so are doing a cartesian join of 3 tables.

我建议你总是使用显式连接语法

I recommend always using explicit join syntax

SELECT *
FROM   `groupon-spain-6sep-2011`
       JOIN `hoja1` ON `groupon-spain-6sep-2011`.foo=`hoja1`.foo
       JOIN `groupaliajuly2011` ON `groupaliajuly2011`.`foo` = `hoja1`.foo
WHERE  `groupon-spain-6sep-2011`.`code` = 5654
        OR `hoja1`.`code` = 5654
        OR `groupaliajuly2011`.`code` = 5654  

虽然你可能想在这里工作,但我还是想想?

Although it is possible that you might be wanting a Union here I think anyway?

这篇关于为什么这个查询使我的整个数据库冻结?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 23:33