MS Access - Pozor na přehození ORDER a WHERE

25. 6. 2013, Vladimír Klaus, přečteno 2382x

MS Access
SQL

SQL příkaz má v podstatě pevně danou syntaxi, tedy kde co může být zapsáno a jak. V případě obyčejného výběrového dotazu si proto dejte pozor třeba na to, že nejprve musí být podmínka a teprve poté řazení.

SELECT * FROM Zakaznici WHERE Telefon = "604 222 555" ORDER BY Prijmeni

Následující dotaz tedy nebude fungovat, resp. zobrazí chybu, která vás může na první pohled zmást, protože nikde nic nechybí. Je to jenom špatně poskládané.

SELECT * FROM Zakaznici ORDER BY Prijmeni WHERE Telefon = "604 222 555"

SQL pro blbce

Třeba si nyní říkáte, že je to přeci naprosto jasné a že takovou chybu byste nikdy neudělali. Jenomže jsou situace, kdy dotazy budujete postupně – máte jednoduché funkční části a teprve poté je skládáte nebo doplňujete podmínky. A co když je dotaz sestavován počítačem (nějakým algoritmem, který jste vytvořili)? Pak už je riziko takové chyby docela velké.