自然加入mysql 5.6
Natural join mysql 5.6
我想看看一个国家获得了多少奖牌。所以我决定合并表 www_result 和 www_country。他们有共同的属性country_id。到目前为止,这是我的代码,但出现语法错误,而且我似乎找不到原因。
SELECT * FROM www_results WHERE position = 1 OR position = 2 OR position = 3
NATURAL JOIN
www_countries;
提前致谢
您只是顺序错误,执行 JOIN,然后应用 WHERE 子句...
您还应该指定在引用字段名称时指的是哪个 table。它并不总是必要的,但可以使它更具可读性并且更不容易出错。
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)
;
我想看看一个国家获得了多少奖牌。所以我决定合并表 www_result 和 www_country。他们有共同的属性country_id。到目前为止,这是我的代码,但出现语法错误,而且我似乎找不到原因。
SELECT * FROM www_results WHERE position = 1 OR position = 2 OR position = 3
NATURAL JOIN
www_countries;
提前致谢
您只是顺序错误,执行 JOIN,然后应用 WHERE 子句...
您还应该指定在引用字段名称时指的是哪个 table。它并不总是必要的,但可以使它更具可读性并且更不容易出错。
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)
;