这两个SQL查询之间有什么区别?
SELECT
articles.idarticles, articles.titre, articles.contenu,
categories.titre AS categorie
FROM
articles, categories
WHERE
idarticles = 2 ;
还有一个
SELECT
articles.idarticles, articles.titre, articles.contenu,
categories.titre AS categorie
FROM
articles
LEFT JOIN
categories ON category_id = categories.idCategories
WHERE
idarticles = 2 ;
结果是:第一个:
第二个查询的结果是:
为什么第一个返回一个结果,第二个返回2行?
答案 0 :(得分:0)
下面的查询返回单个数据,因为您提供了一个特定的ID,该ID符合提取单个行的条件
SELECT articles.idarticles, articles.titre, articles.contenu,categories.titre AS categorie FROM articles, categories WHERE idarticles=2 ;
但在第二次查询中
SELECT articles.idarticles, articles.titre, articles.contenu,categories.titre AS categorie FROM articles LEFT JOIN categories ON category_id=categories.idCategories WHERE idarticles=2 ;
您已完成左联接和文章和类别,其中有2条 idarticles = 2 记录匹配商品数据记录的类别表中。并且由于左连接提取第一个表的所有记录和第二个表的匹配记录。您将获得两条记录。
作为参考,您可以点击以下链接。