2013-04-18 65 views
-5
SELECT COUNT(companyId) 
FROM Companies 
LEFT JOIN Cities ON Cities.cityId = Companies.cityId 
GROUP BY Companies.companyId; 

VS

SELECT COUNT(companyId) 
FROM Cities 
LEFT JOIN Companies ON Cities.cityId = Companies.cityId 
GROUP BY Companies.companyId; 

的区别是什么?这两个MySQL查询有什么区别?

+2

你跑过了吗? –

+1

查看左连接中的左端是什么意思,你就会得到你的答案。 – ceejayoz

+0

做作业? – Kawu

回答

2

在第一个查询左表是Companies并在第二个查询Cities中。

的LEFT JOIN关键字返回左表 (table_name1)的所有行,即使在右表 (table_name2)不匹配。

第一个查询

的LEFT JOIN关键字返回从公司表 所有行,即使有在城市表查询

没有匹配

SECOND

LEFT JOIN关键字返回来自Cities表 的所有行,即使再有在公司表

Visual Representation of SQL Joins

+0

@evodevo你明白了现在的区别 – PSR

+0

检查我的答案 – elsadek

1

我只是将图片放在没有匹配(自我介绍)

的MySQL LEFT JOIN

enter image description here

0
两个

查询左表总是Cities,外连接查询中表的一侧在“where/on”co中确定ndition;你想知道吗?