Porovnávací operátory

Kromě = má SQL ještě dalších pět porovnávacích operátorů:

OperátorVýznamPříklad
=rovná secena = 799
<> nebo !=nerovná secena <> 799
<je menší nežcena < 799
>je větší nežcena > 799
<=je menší nebo rovnocena <= 799
>=je větší nebo rovnocena >= 799

<> a != znamenají totéž. <> pochází ze standardu SQL a zná ho každá databáze; != možná znáte z jiných programovacích jazyků. Tento kurz používá <>.

Pozor na hranici. „Levnější než 399 Kč“ je cena < 399 a hry, které stojí přesně 399 Kč, do výsledku nepatří:

SELECT nazev, cena
FROM hry
WHERE cena < 399
ORDER BY cena;
nazevcena
Cube Logic129
Word Quest249

„Nejvýš 399 Kč“ je cena <= 399 a tři hry za 399 Kč ve výsledku jsou také:

SELECT nazev, cena
FROM hry
WHERE cena <= 399
ORDER BY cena, nazev;
nazevcena
Cube Logic129
Word Quest249
Bakery Story399
Ocean Deep399
Pixel Racer399

Na kterékoli straně porovnání může být také výpočet. Zákazník má 1 000 Kč a chce dva kusy stejné hry, jeden pro kamaráda. Hry, jejichž dva kusy stojí nejvýš 1 000 Kč, od nejdražší:

SELECT nazev, cena * 2 AS dva_kusy
FROM hry
WHERE cena * 2 <= 1000
ORDER BY cena DESC, nazev;
nazevdva_kusy
Lost Temple998
Moon Farm998
Bakery Story798
……

Typická chyba: znaménka obráceně, => místo >=. WHERE cena => 999 skončí chybou:

Error on line 1: near ">": syntax error

Rovnítko je vždycky druhé, ve stejném pořadí, v jakém to vyslovíte: „větší nebo rovno“.

Pokyny

Ukažte název a cenu her, které stojí 999 Kč nebo víc, od nejdražší. Hry se stejnou cenou seřaďte podle názvu:

nazevcena
Knight's Oath1599
Goal Rush1299
Ice Hockey Pro1199
Dragon Forge999
Robot Rebellion999

Pod tím ukažte název a věkovou hranici her, které nejsou vhodné od tří let (jejich vek_od není 3). Seřaďte je podle věkové hranice od nejnižší a pak podle názvu:

nazevvek_od
Ocean Deep7
Tiny Kingdoms7
Word Quest7
Castle Siege12
……

A pro účetnictví: ukažte položky objednávek, za které zákazník zaplatil celkem víc než 1 500 Kč, tedy ty, jejichž pocet * cena je víc než 1500. Ukažte sloupce objednavka_id a hra_id a celkovou částku pojmenovanou celkem, seřazené podle objednavka_id:

objednavka_idhra_idcelkem
22141598
26151599
27151599
29151599

Začněte programovat zdarma

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

Nebo se registrujte pomocí:

2/12