我有两个表通过MAP表组合
Table ANIMAL:
+------+--------------+
| id | description |
+------+--------------+
| 2 | Ape |
| 3 | Lion |
+------+--------------+
Table MAP:
+-----------+---------+
| animal_id | legs_id |
+-----------+---------+
| 2 | 11 |
+-----------+---------+
Table LEGS:
+------+--------------+
| id | legs |
+------+--------------+
| 10 | 4 |
| 11 | 2 |
+------+--------------+
Run Code Online (Sandbox Code Playgroud)
我需要在LEGS表中没有映射条目的动物,如下所示:
!(select *
from ANIMAL as a
JOIN MAP as m ON (a.id = m.animal_id)
JOIN LEGS as l ON (m.legs_id = l.id) )
Run Code Online (Sandbox Code Playgroud)
应该给我'狮子'作为结果
使用 LEFT JOIN
SELECT a.*
FROM animal a
LEFT JOIN Map b
On a.id = b.animal_id
WHERE b.animal_id IS NULL
Run Code Online (Sandbox Code Playgroud)
要进一步了解联接,请访问以下链接: