DinoMedlem sedan sep. 20011 918 inlägg
Vad är det för skillnad på.
Alt 1:
SELECT t1.Title
FROM Table1 t1 INNER JOIN
Table2 t2 ON t1.Id = t2.Table1Id
WHERE t1.Active = 1
Alt 2:
SELECT t1.Title
FROM Table1 t1 INNER JOIN
Table2 t2 ON t1.Id = t2.Table1Id AND t1.Active = 1
CassadyMedlem sedan aug. 20051 393 inlägg
Hmm... jag är ingen expert men såvitt jag vet så innebär det ingen skillnad resultatmässigt. Det ena kanske är lämpligare än det andra dock, beroende på fall...
UlfTMedlem sedan maj 20016 050 inlägg
Eftersom rubriken är Where vs from, förmodar jag att det är skillnaden mellan dessa ord som efterfrågas. From används för att specificera vilken tabell man frågar efter information i. Where specificerar ett villkor.
DinoMedlem sedan sep. 20011 918 inlägg
I alt 1 ligger villkoret t1.Active = 1 i WHERE, i alt 2 ligger det i FROM. Så frågan är då vari skillnaden ligger?
UlfTMedlem sedan maj 20016 050 inlägg
Det är väl bara ett exempel på att man kan skriva sql-frågor på olika sätt.
DinoMedlem sedan sep. 20011 918 inlägg
Jo, men tolkar även databasmotorn(???) båda alternativen på samma sätt eller finns det någon som helst skillnad som gör att man skall använda det ena framför det andra. Tex att nu ligger villkoret i FROM då behöver motorn inte utföra procedur x vilket den skulle behöva om villkoret låg i WHERE.
hampus_bMedlem sedan dec. 200540 inlägg
INNER JOIN är semantiskt likställt med frånvaron av en join (dvs en where). Det är helt enkelt samma sak.
En anledning att använda JOIN-syntaxen är att du vänjer dig vid den syntaxen och kan variera den med t.ex LEFT JOIN, som INTE är samma sak...
//Hampus
DinoMedlem sedan sep. 20011 918 inlägg
Tack det var mer vad jag var ute efter.
DinoMedlem sedan sep. 20011 918 inlägg
Fick även ett förtydligande på annat håll.
In your examples there is no difference.
In the case of an OUTER join it does make a difference because the join condition is evaluated first (logically speaking) and then the WHERE clause is applied to the result.