Procvičování: ceník

Pixel Shop předělává svůj ceník a vy máte všechno, co k tomu potřebujete. Ceník je dobrá zkouška této lekce: skoro každý sloupec v něm je vypočtený.

Funkce se dají vkládat do sebe, a stejně tak všechno ostatní, co jste se naučili: funkce může být argumentem jiné funkce, výpočet může být uvnitř funkce a funkce může být v podmínce CASE. Iniciály každého zákazníka jsou třeba první písmeno jména a první písmeno za mezerou:

SELECT jmeno,
       SUBSTR(jmeno, 1, 1) || SUBSTR(jmeno, INSTR(jmeno, ' ') + 1, 1) AS inicialy
FROM zakaznici
LIMIT 3;
jmenoinicialy
Eva NovotnáEN
Jakub DvořákJD
Tereza SvobodováTS

Pár rad pro takové dotazy:

  • Dlouhý sloupec stavějte postupně. Napište nejdřív nejvnitřnější část, třeba INSTR(jmeno, ' '), spusťte ji, zkontrolujte výsledek a teprve pak ji obalte další funkcí.
  • Počítejte závorky. Každá funkce jednu otevře a každou je potřeba zavřít; incomplete input nebo chyba v zápisu často znamená, že nějaká chybí.
  • Myslete na celočíselné dělení a na NULL: potřebuje výpočet .0? Může být sloupec NULL a co má pak být výsledkem?
  • Každý vypočtený sloupec pojmenujte pomocí AS.

Pokyny

Ceník na webu ukazuje u každé hry štítek. Ukažte název, cenu a stitek: předprodej u her, které ještě nevyšly, novinka u her vydaných v roce 2025 a skladem u ostatních. Hry seřaďte podle ceny od nejvyšší, hry se stejnou cenou podle názvu:

nazevcenastitek
Knight's Oath1599novinka
Goal Rush1299novinka
Ice Hockey Pro1199skladem
Dragon Forge999skladem
Robot Rebellion999předprodej
………

Hry vydané před rokem 2023 jdou do výprodeje se slevou 25 %. Pod tím ukažte jejich název, cenu a cena_ve_sleve: cenu krát 0.75, zaokrouhlenou na celé koruny a jako celé číslo (599, ne 599.0). Seřaďte je podle data vydání:

nazevcenacena_ve_sleve
Cube Logic12997
Castle Siege799599
Ocean Deep399299
Lost Temple499374
Moon Farm499374

Na účtenku se vejde 13 znaků názvu hry. Ukažte popisek: názvy, které mají nejvýš 13 znaků, tak, jak jsou, a delší zkrácené na prvních 10 znaků, za kterými následuje ..., tedy dohromady 13 znaků. Potom ukažte cenu. Hry seřaďte podle ceny od nejvyšší, hry se stejnou cenou podle názvu:

popisekcena
Knight's Oath1599
Goal Rush1299
Ice Hockey...1199
……

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

10/10