我的查询未向我返回预期的结果数

时间:2016-05-26 02:33:10

标签: mysql

我想知道为什么我的sql查询不会将我的所有行(只是第一行)返回给我:

SELECT *
FROM ___Projects
INNER JOIN ___Regions
ON ___Projects.REG_Id=___Regions.REG_Id
ORDER BY PRO_Id ASC

表___项目:

|--------|--------|--------|
|PRO_Id  |REG_Id  |PRO_Name|
|1       |1       |Projet 1|
|2       |0       |Projet 2|
|3       |0       |Projet 3|
|--------|--------|--------|

表___区域

|--------|--------|
|REG_Id  |REG_Name|
|1       |Region 1|
|2       |Region 2|
|3       |Region 3|
|--------|--------|

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

使用LEFT JOIN;)

SELECT *
FROM ___Projects
LEFT JOIN ___Regions
ON ___Projects.REG_Id=___Regions.REG_Id
ORDER BY PRO_Id ASC

答案 1 :(得分:0)

如果希望结果在两个表中都是通用的,则使用INNER JOIN。

因此INNER JOIN将导致行的输出与两个表匹配。

使用LEFT JOIN将获取查询中关键字JOIN左侧表格中的所有行,并仅获取右侧表格中的匹配记录。

使用@reno提供的查询