我想看看一个国家赢了多少枚奖牌。所以我决定将表格www_result和www_country结合起来。它们具有共同的属性country_id。这是我的代码到目前为止,但我得到语法错误,我似乎无法找到原因。
SELECT * FROM www_results WHERE position = 1 OR position = 2 OR position = 3
NATURAL JOIN
www_countries;
提前谢谢
答案 0 :(得分:1)
你只是输入错误的命令,然后执行JOIN,然后应用WHERE子句......
您还应该在引用字段名称时指定您引用的表。它并不总是必要的,但使其更具可读性,更不容易出错。
SELECT
*
FROM
www_results
NATURAL JOIN
www_countries
WHERE
www_results.position IN (1, 2, 3)
;
我实际上也建议任何方式反对NATURAL JOIN
。如果您偶然使用具有相同名称的字段,则会出现不需要的行为。我会使用明确的INNER JOIN
s。
SELECT
*
FROM
www_results
INNER JOIN
www_countries
ON www_results.country_id = www_countries.country_id
-- Replace the "country_id" with whatever field you want to join on
WHERE
www_results.position IN (1, 2, 3)
;