首页 > 解决方案 > 如何编写一个 SQL 查询来显示基于模式的所有职业命中数超过 2000 的玩家的 ID、名字、姓氏

问题描述

我是 SQL 和数据库管理的新手。我正在根据您可以在下面找到的架构编写查询。这是我在工作中熟悉在 SQL Server 上阅读和编写查询的练习。你能帮我根据模式定义查询并简单解释逻辑吗?

非常感谢!

SQL Server 是我的 DBMS,这是问题

  1. 显示 ID、名字、姓氏和命中数以显示所有职业命中数超过 2000 的球员。

数据架构

标签: sqlsql-server

解决方案


您可以通过在 Microsoft SQL Server 中键入此查询来获得此查询

SELECT
MLB_PLAYERS.FIRST_NAME,
MLB_PLAYERS.LAST_NAME,
MLB_PLAYERS.ID,
CAREER_STATS.HITS
FROM
MLB_PLAYERS LEFT JOIN KEY_GAMES_STATS on MLB_PLAYERS.ID=CAREER_STATS.ID
WHERE
CAREER_STATS.HITS>2000

所以你有一个简单的结构可以遵循:

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

但是您决定只获取其中的 3 个,即 select、from 和 where。通过 SELECT,您可以决定要将哪些列作为输出。然后在 FROM 中,您必须选择要从中获取变量的表。但是,如果您决定使用 2 个不同的表,则需要加入它们。我使用左连接是因为我想将点击匹配到现有玩家。我们可以通过相似的键匹配它们,在这种情况下,这是它们的 ID。最终,您可以使用 where 将条件应用于您的查询


推荐阅读