sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af den farlige IN-sætning i SQL

Hvorfor? Fordi det ofte er nyttigt for at kunne henvise til kolonner fra den ydre forespørgsel i underforespørgsler. Der er ingen indstilling, du kan bruge til at slå denne adfærd fra, men hvis du får en vane med at bruge aliaser, bør du undgå de fleste problemer med det:

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

Vil producere en fejl.



  1. Hvad er den bedste måde at gemme mediefiler på en database?

  2. Når du automatisk opretter underdomæner ved brugertilmelding, opretter det et nyt websted eller giver det udseende af et websted?

  3. Er det en god idé at bruge Hibernate til at repræsentere tabelrelationer?

  4. PostgreSQL dump og gendan i anden tidszone