';其中';和不同的';联接';在mysql中?

';其中';和不同的';联接';在mysql中?,mysql,join,Mysql,Join,可能重复: 连接总是让我困惑。有人能告诉我不同连接之间的区别是什么,哪个连接最快,什么时候使用哪个连接,连接和where子句之间的区别是什么吗??请给出您的详细答案,因为我已经在一些网站上读到了关于连接的内容,但没有正确理解连接的概念。此查询: SELECT c.customer_name, o.order_id, o.total FROM customers c, orders o WHERE c.id = o.customer_id 还有这个 SELECT c.customer_name

可能重复:

连接总是让我困惑。有人能告诉我不同连接之间的区别是什么,哪个连接最快,什么时候使用哪个连接,连接和where子句之间的区别是什么吗??请给出您的详细答案,因为我已经在一些网站上读到了关于连接的内容,但没有正确理解连接的概念。

此查询:

SELECT c.customer_name, o.order_id, o.total
FROM customers c, orders o
WHERE c.id = o.customer_id
还有这个

SELECT c.customer_name, o.order_id, o.total
FROM customers c
INNER JOIN orders o ON c.id = o.customer_id
在mysql服务器上执行的内容没有区别,但是连接(imho)更具可读性。特别是对于更复杂的联接:


这里有一篇关于这个主题的文章:

与其引用整个维基百科的文章,我将推荐你的文章

SQL JOIN子句组合记录 从一个数据库中的两个或多个表 数据库它创建了一组 可以保存为表或按原样使用。 连接是一种组合方式 使用值从两个表中删除字段 每个人都有共同之处。ANSI标准SQL 指定四种类型的联接:内部联接, 外部、左侧和右侧。特别地 案例、表(基表、视图或 联接表)可以在 自连接

程序员编写连接谓词 识别加入的记录。 如果求值谓词为true, 然后生成组合记录 在预期的格式中,记录集 或者一个临时表,例如

有一种较旧的语法使用WHERE子句暗示内部联接。虽然它可以工作,并且会生成与使用内部联接语法指定的查询完全相同的查询,但它不推荐使用,因为大多数人发现它更容易混淆

这是这个项目的文档