Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Używanie niebezpiecznej klauzuli IN w SQL

Czemu? Ponieważ często przydatne aby móc odwoływać się do kolumn z zewnętrznego zapytania w podzapytaniach. Nie ma ustawienia, którego możesz użyć do wyłączenia tego zachowania, ale jeśli przyzwyczaisz się do używania aliasów, powinieneś unikać większości problemów z tym:

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

Spowoduje błąd.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Automatycznie generuj wartość hierarchii

  2. Linq:Sortuj według daty, gdy jest przechowywany jako tekst

  3. Microsoft zapowiada SQL Server 2012 R2 i SQL Server 2012 R3!

  4. Jak usunąć wszystkie ograniczenia klucza obcego we wszystkich tabelach?

  5. Jak obliczyć średnią ruchomą z ostatnich n godzin?