Kiválasztása sorok között a javaslatok, amelyek

Megérteni a sorrendet, amelyben a javaslatokat kell elhelyezni, ahol, GROUP BY, és a RENDELKEZŐ, segít létrehozni a hatékony lekérdezések.

WHERE használják, hogy kiszűrje a sorok származó műveletek, amelyeket felsorolt ​​From záradékban.

A GROUP BY záradék arra használjuk, hogy a kimenő adatok a WHERE záradékot.

HAVING használják, hogy kiszűrje sorok csoportosított eredmények.

Keresési kifejezést, amely előtt vagy után alkalmazzuk a csoportosulás működését, akkor jobb, ha meghatározza a WHERE záradékot. Ez csökkenti a sorok számát, amelyek az egyesülés. Az egyetlen keresési feltételeket meg kell határozni a HAVING, - ezek után lehet felvinni a csoportosulás működését.

Optimizer Microsoft SQL Server lekérdezéseket tud működni a legtöbb ilyen körülmények között. Ha azt állapítja meg, hogy a keresési feltétel a HAVING lehet alkalmazni, mielőtt a csoportosítási művelet, ez nem így van. A lekérdezés optimalizáló nem ismeri az összes keresési kifejezést javaslatokat RENDELKEZŐ, amely lehet alkalmazni, mielőtt a csoportosulás működését. Javasoljuk, hogy adja meg az összes ilyen keresési feltételeket a WHERE, nem pedig a HAVING.

A következő példa azt mutatja, HAVING egy összesítő függvény. Ez SalesOrderDetail A táblázat szerint vannak csoportosítva a termék kódot, majd a termékeket eltávolítjuk, az átlagos megrendelések száma, amelyek kevesebb, mint öt.

Kapcsolódó cikkek