mysql - 带有子查询的 sql select 语句(我认为)

标签 mysql subquery

我有一个名为“games”的 mysql 表,其中包含以下字段:id、team1、team2 和 date。我有第二个名为“teams”的 mysql 表,其中包含以下字段:id、name、grade。

我的目标是选择日期 = 3 月 1 日的所有“游戏”,然后选择等级 = 10 的所有“游戏”。

所以我想我需要某种子查询,但我不太了解 sql。任何帮助表示赞赏。

到目前为止我所知道的是:

("SELECT * FROM games WHERE date = '2012-03-01'")

非常感谢。我也确实想要一个 sql 语句...

最佳答案

我假设 games.team1teams.id 相关,games.team2 也是如此。

您只需使用 JOIN 将您的 teams 表带入查询。 由于 games 中有两列通过 teams.id 列与 teams 相关,因此您必须使用两个连接:

SELECT games.*
FROM games
JOIN teams t1 ON games.team1 = t1.id
JOIN teams t2 ON games.team2 = t2.id
WHERE date = '2012-03-01'
AND t1.grade = 10
AND t2.grade = 10

我已指定两支球队都在 10 年级,但如果您希望至少有一支球队在 10 年级,您可以将其更改为 OR。(假设有一场比赛是 12 年级的球队对10 年级团队)。

关于mysql - 带有子查询的 sql select 语句(我认为),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627487/

相关文章:

mysql - Sqoop导入所有不与Hive数据库同步的表

MySQL返回访问过一个页面但未访问过另一页面的成员的唯一行

mysql - 在MySQL中按子查询的结果排序

Mysql 内连接问题

php - 使用自定义查询生成器的多对多实体的 Symfony 表单

PHP/PDO : No result if a column = 0?

mysql - 计算 SQL 中多列的值

mysql - 如果 slave 在 Symfony2 中不工作,自动连接到 MySQL master

mysql - WHERE IN 子查询未按预期工作

mysql - 将 IN 与子查询一起使用