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