我想知道为什么我的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|
|--------|--------|
感谢您的帮助。
答案 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提供的查询