SQL(for)中的JOIN是什么?

sab*_*fer 3 mysql sql

我已经使用MySQL 2年了,但我仍然不知道你对这个JOIN声明做了什么.我真的没有遇到任何情况从哪里来我无法解决我已经知道语句和语法问题(SELECT,INSERT,UPDATE,排序,...)

  • JOIN在MySQL中做了什么?
  • (哪里)我需要吗?
  • 我一般应该避免吗?

Xpi*_*itO 7

每当我们必须从2个或更多表中选择数据时,就会使用SQL JOIN子句.

为了能够使用SQL JOIN子句从2个(或更多)表中提取数据,我们需要这些表中某些列之间的关系.

source(请查看示例):http://www.sql-tutorial.net/SQL-JOIN.asp


Jac*_*son 7

如果您曾经一次查询多个表,那么您可能在不知情的情况下使用它.

如果您进行类似的查询

SELECT comment_text
FROM users, comments
WHERE users.user_id = 'sabwufer'
AND comments.user_id = users.user_id  <-- this line is your JOIN condition
Run Code Online (Sandbox Code Playgroud)

实际上,即使您没有使用JOIN关键字,也可以进行连接(INNER JOIN).

(旁白:上面的查询相当于

SELECT comment_text
FROM users
JOIN comments ON (comments.user_id = users.user_id)
WHERE users.user_id = 'sabwufer'
Run Code Online (Sandbox Code Playgroud)

)

如果你所做的只是INNER JOINS,那么你不需要使用JOIN关键字,尽管它可以让你做得更清楚.

但是,还有其他有用的连接类型(例如,参见教程XpiritO链接),它们值得理解.