sql >> Databáze >  >> RDS >> Sqlserver

Použití nebezpečné klauzule IN v SQL

Proč? Protože je to často užitečné aby bylo možné odkazovat na sloupce z vnějšího dotazu v poddotazech. Neexistuje žádné nastavení, které byste mohli použít k vypnutí tohoto chování, ale pokud si zvyknete používat aliasy, měli byste se s tím vyhnout většině problémů:

select * from #table1 t1
where t1.col1 IN
(select t2.col1 from #table2 t2)

Vyvolá chybu.



  1. Zabezpečení databáze 101:Zabezpečení v databázích s otevřeným zdrojovým kódem

  2. 12c Změny DBA_USERS

  3. Jak odstranit záznamy, které NEJSOU IN

  4. Pochopení normalizace a duplikátů – Myslím, že ne – Přidání ID interpretů a titulů