Mysql 查询多对多关系表

Mysql 查询多对多关系表,mysql,sql,join,Mysql,Sql,Join,我得到的这些表有一个关系n:m: 1) NEW ID_NEW, TITLE_NEW, SUBTITLE_NEW, CONTENT_NEW, CREATED_NEW, IMAGE_NEW, USER_ID 2) TAG ID_TAG, NAME_TAG 3) NEW_has_TAG NEW_ID, TAG_ID 我想找到一个查询,它寻找一个特定的标签,例如一个标签,它是“football”。在这种情况下,如果它发现了一些东西,一个带有新id、标题等的列表。这是带有连接的基本SQL: SELE

我得到的这些表有一个关系n:m:

1) NEW
ID_NEW, TITLE_NEW, SUBTITLE_NEW, CONTENT_NEW, CREATED_NEW, IMAGE_NEW, USER_ID

2) TAG
ID_TAG, NAME_TAG

3) NEW_has_TAG
NEW_ID, TAG_ID

我想找到一个查询,它寻找一个特定的标签,例如一个标签,它是“football”。在这种情况下,如果它发现了一些东西,一个带有新id、标题等的列表。

这是带有连接的基本SQL:

SELECT
  t.*, n.*
FROM
  tag t
  LEFT JOIN new_has_tag nt ON t.id_tag = nt.id_tag
  LEFT JOIN `new` n ON nt.new_id = n.id_new
WHERE
  t.name_tag = 'football'
实际上是SQL标准中的一个保留关键字(MySQL也遵循此标准),因此您可能有一个名为`new`的表,它带有反勾号,而不是
new


如果已启用,则
“new”
也将是标识符的有效名称。

双引号是否有效,或者是否需要在
new
周围使用单回勾号?如果启用ANSI SQL模式,则十个双引号将有效。谢谢你的添加,我已经把它改成了backticks,因为大多数情况下都是这样。非常感谢你!它可以使用单引号,也可以不使用单引号,至少在MySQL中是这样:)有很多网站提供免费的基本SQL教程。例如,你可以检查一下