VyÜlo: 5.1.2001 Rubrika:
ASP - SQL
SQL: Zrychlete svΘ strßnky! Vypisujte jenom pot°ebnß data!
Jestli₧e na sv²ch strßnkßch vypisujete r∙znß TOP 10 Φtenosti Φlßnk∙ a podobn∞, m∞li by jste se blφ₧e seznßmit s p°φkazem SELECT, kter² umo₧≥uje nastavit kolik vrßtφ zßznam∙. V Φlßnku se dozvφte jak po provedenφ SQL p°φkazu dostanete do v²stupu nap°φklad pouhΘ t°i zßznamy, kterΘ budete ve VaÜφ internetovΘ aplikaci pot°ebovat. Vφce v Φlßnku...
P°i tvorb∞ r∙zn²ch ₧eb°φΦk∙, titulk∙, v²pis∙ a podobn∞ se vyu₧φvß jazyka SQL a jeho p°φkazu SELECT, kter² b²vß obohacen o r∙znΘ podmφnky typu WHERE, kterΘ omezujφ(specifikujφ) vrßcenß data.
Bohu₧el nenφ pravidlem, ₧e veÜkerß vrßcenß data jsou pou₧ita resp. vlo₧ena do strßnky, kterß se vracφ nßvÜt∞vnφkovi strßnky. Tφmto vznikß jist²m zp∙sobem urΦitΘ mrtvΘ mφsto, kterΘ se musφ serverem zpracovat a "p°elouskat". Vznikß tak zbyteΦnß re₧ie, kterΘ lze p°edejφt pomocφ nßsledujφcφho upravenφ SQL p°φkazu SELECT, kterΘ reaguje na modifikßtor TOP:
SELECT TOP 5 * from asp ORDER BY ctenari_celkem
Modifikßtor TOP vyu₧ijete nejen p°i vypisovßnφ nejΦten∞jÜφch Φlßnk∙. Okam₧it∞ na prvnφ pohled zjistφte, ₧e se jednß o mnohem lepÜφ a efektivn∞jÜφ variantu, ne₧ nepohodlΘ pou₧itφ obyΦejnΘho SELECTU bez omezenφ poΦtu vrßcen²ch zßznam∙(°ßdk∙).
Syntaxe:
SELECT TOP Pocet_vracenych_zaznamu Sloupce FROM Tabulka
Pocet_vracenych_zaznamu - Φφslenß hodnota udßvajφcφ poΦet vrßcen²ch zßznam∙.
Sloupce - °et∞zcovß hodnota, kter² °φkß, kterΘ sloupce se majφ vrßtit. Lze pou₧φt klφΦovΘ slovo ALL nebo hv∞zdiΦku('*'), kterΘ vyberou vÜechny sloupce z tabulky.
Tabulka - nßzev tabulky ze kterΘ chcete zßznamy vybrat.
P°φklad:
<%
prikaz_SQL = "SELECT TOP 5 * FROM Dφla ORDER BY Ctenari Desc"
Set SQL = objConn.Execute(prikaz_SQL)
Do While Not SQL.EOF
Response.Write SQL("Nadpis") & " Φtenß°i: " & SQL("ctenari_celkem") & "<br>"
SQL.MoveNext
Loop
%>
Poznßmka: Jestli₧e nastane situace, kdy na poslednφm °ßdku(v naÜem p°φpad∞ na pßtem) budou dva toto₧nΘ zßznamy, nevrßtφ SELECT po₧adovanc²h zßznam∙ p∞t, ale Üest.
P°φklad:
Budete vybφrat z tabulky platy 10 nejlΘpe placen²ch zam∞stanc∙, kterΘ mßte v tabulce. Jestli₧e bude na 10. pozici pan Novßk i JonßÜ, SELECT vrßtφ Novßka i JonßÜe. Jetli₧ bude mφt stejn² plat i panφ Chrobßkovß, p°φkaz SELECT vrßtφ i Vß₧enou panφ Chrobßkovou.
Zden∞k Cendra
ceskywap@ceskywap.cz
Souvisejφcφ Φlßnky
|