By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table A (
id int,
value int
);
create table B (
id int,
value int
);
insert into A values
(1, 1),
(2, null),
(3, 3);
insert into B values
(1, 1),
(2, null);
SELECT 'WHERE', a.*, b.*
FROM A AS a
LEFT JOIN B AS b
ON a.id = b.id
WHERE b.value IS NULL
;
SELECT 'ON', a.*, b.*
FROM A AS a
LEFT JOIN B AS b
ON a.id = b.id
AND b.value IS NULL
;
Records: 3 Duplicates: 0 Warnings: 0
Records: 2 Duplicates: 0 Warnings: 0
WHERE | id | value | id | value |
---|---|---|---|---|
WHERE | 2 | null | 2 | null |
WHERE | 3 | 3 | null | null |
ON | id | value | id | value |
---|---|---|---|---|
ON | 1 | 1 | null | null |
ON | 2 | null | 2 | null |
ON | 3 | 3 | null | null |