我有一个机器表,以及一个表示这些机器跨时间可达性的表。
machines
id name
1 machine1
2 machine2
3 machine3
4 machine4
machines_reachability
machine_id is_reachable time
1 0 (whatever)
2 1 (whatever)
3 0 (whatever)
1 1 (whatever)
2 0 (whatever)
3 0 (whatever)
1 1 (whatever)
2 1 (whatever)
3 1 (whatever)
我正在尝试使用 JOINS查找没有可达性记录的机器(即 machine4 )。这可以通过其他方式完成,但我需要通过连接来更好地理解它。
我尝试了以下
SELECT * FROM machines m LEFT OUTER JOIN machines_reachability mr ON m.id = mr.machine_id
我知道这应该输出整个左表内容(即机器),并且OUTER
关键字应该根据条件排除machines
和表之间的结果的交集。但这并没有像我预期的那样奏效。它显示了所有内容,但不排除不匹配的行。machines_reachability
m.id = mr.machine_id
那么,我如何运行一个JOIN
查询来实际显示未连接的行,无论是左表还是右表。