Většinou nás z tabulky nezajímají všechny informace (konkrétně ID není pro člověka důležitá položka). Když chceme zobrazit jen některé sloupce můžeme určit i pořadí v jakém sloupce chceme. Opět použijeme SELECT, ale na místo kde jsme psali * doplníme co chceme zobrazit. Když si zobrazíte v tabulce všechny položky uvidíte v horní části názvy sloupců. Pro nás budou zajímavé sloupce CustomerName a City (Jméno zákazníka a město). V dotaze to oddělíme čárkou.

Příkaz tedy bude vypadat takto:

SELECT CustomerName,City FROM Customers;

Tryit Editor

Když nás bude zajímat jen výčet zemí, kde žijí naši zákazníci mohli by jsme použít příkaz „SELECT Country FROM Customers;“ ale výsledkem by seznam zemí, které by se často opakovali. Protože můžeme předpokládat, že nemáme v každé zemi jen jednoho zákazníka. Aby nám databáze vrátila každou zemi jen jednou musíme přidat k našemu dotazu ještě slovo DISTINCT. Můžeme přeložit do češtiny jako odlišný. Což je přesně co to dělá. Vrátí pouze odlišné výsledky.

Příkaz tedy bude vypadat takto:

SELECT DISTINCT Country FROM Customers;

Tryit Editor

Když už víme jaké země v databázi máme můžeme si udělat příkaz, který nám najde všechny zákazníky, kteří pochází z konkrétní země. Zde budeme muset použít nové slovo WHERE. Skladba příkazu by se dala přeložit jako „Kde se ve sloupci vyskytuje slovo“.

Příkaz, ve kterém chceme vypsat všechny zákazníky z UK, bude tedy vypadat takto:

SELECT * FROM Customers WHERE Country=’UK‘;

Jednoduché uvozovky napíšeme přes ALT + 39

Tryit Editor

Pokud by jsme v databázi hledali číslo nepíšeme uvozovky. Takže pokud by jsme třeba hledali podle CustomerID stačí napsat CustomerID=5. Místo = můžeme napsat i jiné značky asi nejlepší bude shrnutí v tabulce.

= Rovná se
<> nebo != Nerovná se
> Větší než
< Menší než
>= Větší nebo stejné
<= Menší nebo stejné

O něco komplikovanější je když chceme vypsat čísla v nějakém rozsahu. Třeba chceme vypsat CustomerID od 10 do 20. Poté budeme muset použít BETWEEN.

Takový dotaz bude tedy vypadat takto:

SELECT * FROM Customers WHERE CustomerID BETWEEN 10 AND 20;

Samozřejmě můžeme kombinovat i s tím jaké sloupce chceme vidět. A můžeme si nechat zobrazit jen sloupce CustomerID a CustomerName.

Takový dotaz bude tedy vypadat takto:

SELECT CustomerID, CustomerName FROM Customers WHERE CustomerID BETWEEN 10 AND 20;

Tryit Editor

Když by jsme chtěli vypsat všechny města v databázi začínající na nějaké písmeno, tak ale nemůžeme jen použít WHERE City=’B‘. Takový dotaz by hledal město jménem „B“. Zde musíme ještě přidat LIKE a znak % určí do jakého místa můžeme doplnit jakékoliv znaky. Takže pokud chceme hledat město, které má kdekoliv ve svém jméně písmo „x“ budeme psát WHERE City LIKE ‚%x%‘. Protože tím říkáme, že před x i za x může být libovolný počet jakýchkoliv znaků. Když by jsme napsali % jen před „x“ budeme hledat města, která končí na x a když napíšeme % za x budeme hledat města, která začínají písmenem „x“.

Takže pokud chceme najít města s jménem začínajícím na písmeno B bude příkaz vypadat:

SELECT * FROM Customers WHERE City Like ‚b%‘;

Takový příkaz má ale pár nedostatků. Hlavně to, že se nám mohou města opakovat a také se nám zobrazí i sloupce, které nás vůbec nezajímají. Proto zkombinujeme předchozí příkazy.

 Tento příkaz vám vypíše pouze města začínající na B a každé pouze jednou.

SELECT DISTINCT City FROM Customers WHERE City Like ‚b%‘;

Tryit Editor