[英]mysql select all rows in left and let null in right table
我在MySql数据库中有两个表,表是:
上面一个表是jenis_pohon
,下面一个表是jtt
如何选择jenis_pohon
所有行并使用条件jtt.tahun='2016' AND jtt.koperasi_id='4'
将其与jtt
连接
我尝试了以下查询:
SELECT * FROM `jenis_pohon` LEFT JOIN jtt ON jenis_pohon.jenis_pohon_id=jtt.jenis_pohon_id WHERE jtt.tahun='2016' AND jtt.koperasi_id='4'
但没有运气。
基本上我想要返回6行(这6行来自jenis_pohon
)。
尝试使用下面的查询。
SELECT
*
FROM
`jenis_pohon`
LEFT JOIN jtt ON jenis_pohon.jenis_pohon_id = jtt.jenis_pohon_id
AND jtt.tahun = '2016'
AND jtt.koperasi_id = '4';
OUTPUT
检查一下。 点击这里演示
表jtt与条件jtt.tahun ='2016'和jtt.koperasi_id ='4'它只返回3条记录,因为jtt.koperasi_id ='4'ave只有3条记录进入tabel'jtt'
SELECT * FROM `jenis_pohon`
LEFT JOIN jtt ON jenis_pohon.jenis_pohon_id=jtt.jenis_pohon_id
WHERE jtt.tahun='2016' AND jtt.koperasi_id='4';
O表jtt,状态为onlt jtt.tahun ='2016'
SELECT distinct * FROM `jenis_pohon`
LEFT JOIN jtt ON jenis_pohon.jenis_pohon_id=jtt.jenis_pohon_id
WHERE jtt.tahun='2016'
我已经创建了你的表并对其进行了测试,它确实有效。 使用此查询:
SELECT * FROM jenis_pohon
LEFT JOIN jtt ON (jenis_pohon.jenis_pohon_id = jtt.jenis_pohon_id AND jtt.tahun = '2016' AND jtt.koperasi_id = '4')
请注意,在连接括号内使用AND会使查询比使用WHERE更快。
结果是:
你可以这样排序:
SELECT * FROM jenis_pohon
LEFT JOIN jtt ON (jenis_pohon.jenis_pohon_id = jtt.jenis_pohon_id AND jtt.tahun = '2016' AND jtt.koperasi_id = '4')
ORDER BY jenis_pohon.jenis_pohon_id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.