由于某些原因,这两个SQL语句不等效。任何人都可以帮助理解为什么吗?在mySQL中IN/NOT IN的使用
SELECT N, IF(P IS NULL, 'Root', IF(N NOT IN (SELECT P FROM BST), 'Leaf', 'Inner'))
FROM BST
ORDER BY N;
SELECT N, IF(P IS NULL, 'Root', IF(N IN (SELECT P FROM BST), 'Inner', 'Leaf'))
FROM BST
ORDER BY N;
P.S. - 这是HackerRank上的二叉搜索树问题。 https://www.hackerrank.com/challenges/binary-search-tree-1
NOT IN(null)欺骗了许多用户。 – jarlh