NOT IN nie zachowuje się zgodnie z oczekiwaniami, gdy na liście znajduje się NULL wartości.
W rzeczywistości, jeśli jakiekolwiek wartości są NULL , wtedy żadne wiersze nie są zwracane. Pamiętaj:w SQL NULL oznacza „nieokreśloną” wartość, a nie „brakującą wartość”. Tak więc, jeśli lista zawiera jakiekolwiek NULL wartość to może być równe wartości porównawczej.
Tak więc customerid musi być NULL w orders tabela.
Z tego powodu zdecydowanie zalecam, aby zawsze używać NOT EXISTS z podzapytaniem zamiast NOT IN .