Mysql 如何生成sql查询

Mysql 如何生成sql查询,mysql,sql,Mysql,Sql,我有一个关于足球统计数据的数据库。其中一个表与以下行匹配: 身份证件 匹配日期 主队 客队 本级 客场 本垒打分数 客场得分 另一个表是goal,其行如下: 身份证件 匹配id 每分钟进一球 主队 客队 本级 客场 目标团队 退让 目标类型id 攻击类型id 我想选择主场3分,客场1分,客场得分-主场得分>2分时的所有进球 如何生成包含两个表的查询?请尝试以下操作: select * from matches m, goal g where m.id =

我有一个关于足球统计数据的数据库。其中一个表与以下行匹配:

身份证件 匹配日期 主队 客队 本级 客场 本垒打分数 客场得分 另一个表是goal,其行如下:

身份证件 匹配id 每分钟进一球 主队 客队 本级 客场 目标团队 退让 目标类型id 攻击类型id 我想选择主场3分,客场1分,客场得分-主场得分>2分时的所有进球

如何生成包含两个表的查询?

请尝试以下操作:

select  * 
from    matches m, 
        goal    g 
where   m.id = g.match_id 
and     g.home_level = 3 
and     g.away_level = 1 
and     m.away_score - m.home_score > 2


提示:您需要使用联接。@Konstantinkingostanzhoglo:这些看起来很像列。请不要推荐使用不推荐使用的隐式联接语法的解决方案。一些现代数据库管理系统甚至不再支持这一点。根据经验,在FROM子句中不应该有一个。哇,谢谢,这很有效。您还可以告诉我如何找到有关创建这样的查询的信息吗?有一个很好的网站可以教您基本的SQL命令。当然,如果您停下来阅读场景,MySQL文档有很多内容可以教,就像Siyual所说的,使用连接语法,性能会更好。但是,含蓄性有助于更好地理解。再看看这个:你能核对一下答案吗?谢谢
select  * 
from     matches m, 
         goal    g 
where    m.id = g.match_id 
and      g.home_level = 3 
and      g.away_level = 1 
and      (m.away_score - m.home_score) > 2
select     * 
from       matches m 
INNER_JOIN goal    g  ON  m.id = g.match_id 
                      and g.home_level = 3 
                      and g.away_level = 1 
                      and (m.away_score - m.home_score) > 2