鬼王宗要挑选精英。只要“拥有攻击力大于 100 的法宝”的弟子,才会被列入名单。
这便是EXISTS(存在)的奥义。我们不关心具体是谁,只关心“有没有”。
EXISTS 用于判断子查询是否返回任何行。如果有,则返回 TRUE。
SELECT Name
FROM Disciples
WHERE EXISTS (
SELECT WeaponName
FROM Weapons
WHERE Disciples.Weapon_ID = Weapons.W_ID
AND Attack > 100
);
找出那些没有法宝的弟子(可能是刚入门的):
SELECT Name
FROM Disciples
WHERE NOT EXISTS (
SELECT W_ID
FROM Weapons
WHERE Disciples.Weapon_ID = Weapons.W_ID
);