Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Предикаты с подзапросами являются необратимыми

Вы должны обратить внимание, что предикаты включающие подзапросы, используют выражение < скалярная форма > < оператор > < подзапрос >, а, не < подзапрос > < оператор > < скалярное выражение > или < подзапрос > < оператор > < подзапрос >. Другими словами, вы не должны записывать предыдущий пример так:

SELECT * FROM Orders WHERE ( SELECT DISTINCT snum FROM Orders WHERE cnum = 2001 ) = snum;

В строгой ANSI реализации, это приведет к неудаче, хотя некоторые программы и позволяют делать такие вещи. ANSI также предохраняет вас от появления обеих значений при сравнении, которые нужно вывести с помощью подзапроса.