由於某些原因,這兩個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