У меня вопрос по подзапросам в пользу. Анализируя несколько SQL-запросов, я наткнулся на странную ситуацию.
Когда я выполнил следующий SQL, я получил эти результаты:
select *
from orderlyn
where OLWArtnr in (select OlwArtnr from prijs)
Но OlwArtNr не существует в таблице Prijs.
CREATE TABLE Prijs (
Nummer Char( 20 ),
Lijst Char( 15 ),
Verkprijs Double( 0 ),
Aankprijs Double( 0 ),
BTW Char( 2 ),
Naam1 Char( 30 ),
Naam2 Char( 30 ),
Naam3 Char( 30 ),
Naam4 Char( 30 ),
Vervangnr Char( 20 ),
Kortcode Char( 10 ),
Datum Date,
Vpeuro Double( 0 ),
A1 Char( 20 )) IN DATABASE;
Больше всего меня беспокоит тот факт, что он дает разные результаты, когда я использовал select nummer from prijs
в качестве подзапроса.
Почему преимущество дает мне результаты, когда столбец даже не существует внутри другой таблицы? Я думаю, что это должно дать ошибку.
Если преимущество состоит в том, чтобы делать интерпретации, по каким параметрам он это делает?