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.