sql >> Databasteknik >  >> RDS >> Oracle

Fråga med brutet underval bör resultera i fel men returnerar rader

Anledningen är att när en oaliasad kolumn inte finns i underfrågan men finns i den yttre frågan, antar Oracle att du hänvisar till kolumnen från den yttre frågan.

Med alias skulle frågan du är förvirrad över se ut så här:

select *
from   test_values tv
where  tv.tst_id in (select tv.tst_id2
                     from   test_lookup tl
                     where  tl.tst_value = 'findMe');

Förhoppningsvis gör det saken tydligare?

Problemet du ser är ett mycket bra exempel på varför du alltid bör märka dina kolumner med vilken tabell de kommer från - det gör det mycket lättare att underhålla frågan till att börja med!



  1. Parametergruppändringar återspeglas inte i Aurora Serverless DB-kluster

  2. Vad är generellt snabbare, att greppa igenom filer eller köra en SQL LIKE %x%-fråga genom blobbar?

  3. Hur man får senaste posten för varje grupp med hjälp av Entity Framework och MySQL inklusive relaterad enhet

  4. JSON från twitter API innehåller \u2019