我试图在使用 MySQL“NOT IN”条件时左连接 2 个表。我遇到的问题是,如果左连接为空,意味着没有左连接的条目,MySQL NOT IN 运算符就不能正常工作。
这是一个示例。
SELECT PLAYERS.*,
TYPES.GUEST_ID
FROM PLAYERS
LEFT JOIN TYPES ON TYPES.GUEST_ID = PLAYERS.GUEST_ID
WHERE PLAYERS.ID = '1' AND TYPES.GUEST_ID NOT IN('1', '2')
由于 TYPES 表中当前没有匹配的行。 NOT IN 运算符不起作用。有什么解决办法吗?
最佳答案
使用IS NULL
:
SELECT PLAYERS.*, TYPES.GUEST_ID
FROM PLAYERS
LEFT JOIN TYPES ON TYPES.GUEST_ID = PLAYERS.GUEST_ID
WHERE TYPES.GUEST_ID NOT IN('1', '2') OR TYPES.GUEST_ID IS NULL
关于mysql - 使用 NOT IN 条件左连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38661860/