
SQL — LIKE
Znáte všechny taje, které SQL operátorLIKE nabízí? Vsadíme se, že o některých možná ani nevíte! 😉
Všechny příklady z tohoto návodu si můžete vyzkoušet on-line. Pro naše účely totiž bohatě postačí on-line databáze SQL Fiddle. Název v tomto případě přesně označuje účel. Fiddle totiž znamená hrát si.
Vytvořte si tabulku s daty

Zkopírujte následující kód a vložte do levé části SQL Fiddle. Pak klikněte na tlačítko Build Schema. Vytvoří se tabulka i s několika testovacími řádky.
CREATE TABLE students
(
id INT,
first_name VARCHAR(50),
last_name VARCHAR(50)
);
INSERT INTO students VALUES (1, 'Jana', 'Dvořáková');
INSERT INTO students VALUES (2, 'Steve', 'Jobs');
INSERT INTO students VALUES (3, 'Jan', 'Novák');
INSERT INTO students VALUES (4, 'John', 'Lennon');
INSERT INTO students VALUES (5, 'Bill', 'Gates');
INSERT INTO students VALUES (6, 'Paul', 'McCartney');
INSERT INTO students VALUES (7, 'JAN_ADAM', 'V.');
INSERT INTO students VALUES (8, 'XXX', 'yk%m*6%_a');
Vlastní SQL příkazy potom budete psát do pravé části a spouštět tlačítkem Run SQL.
Syntaxe
Syntaxe operátoru LIKE není složitá.
% | Procento nahrazuje více znaků nebo také žádný znak. |
_ | Podtržítko nahrazuje jeden libovolný znak. |
\ | Zpětné lomítko je tzv. Escape znak. Díky němu můžeme vyhledávat v řetězci znaky `%` a `_`. |
Příklady
Křestní jména začínající na "J"
SELECT * FROM students
WHERE first_name LIKE 'J%';
| id | first_name | last_name |
|----|------------|-----------|
| 1 | Jana | Dvořáková |
| 3 | Jan | Novák |
| 4 | John | Lennon |
| 7 | JAN_ADAM | V. |
Příjmení, která obsahují "a"
SELECT * FROM students
WHERE last_name LIKE '%a%';
| id | first_name | last_name |
|----|------------|-----------|
| 5 | Bill | Gates |
| 6 | Paul | McCartney |
| 8 | XXX | yk%m*6%_a |
Příjmení, která neobsahují "a"
SELECT * FROM students
WHERE last_name NOT LIKE '%a%';
| id | first_name | last_name |
|----|------------|-----------|
| 1 | Jana | Dvořáková |
| 2 | Steve | Jobs |
| 3 | Jan | Novák |
| 4 | John | Lennon |
| 7 | JAN_ADAM | V. |
Křestní jména, které mají jako 2. písmeno "a"
SELECT * FROM students
WHERE first_name LIKE '_a%';
| id | first_name | last_name |
|----|------------|-----------|
| 1 | Jana | Dvořáková |
| 3 | Jan | Novák |
| 6 | Paul | McCartney |
Příjmení, která mají délku 5 znaků
SELECT * FROM students
WHERE last_name LIKE '_____';
| id | first_name | last_name |
|----|------------|-----------|
| 3 | Jan | Novák |
| 5 | Bill | Gates |
Křestní jména nebo příjmení, která obsahují podtržítko "_"
SELECT * FROM students
WHERE first_name LIKE '%\_%'
OR last_name LIKE '%\_%';
| id | first_name | last_name |
|----|------------|-----------|
| 7 | JAN_ADAM | V. |
| 8 | XXX | yk%m*6%_a |
Příjmení, která obsahují "%"
SELECT * FROM students
WHERE last_name LIKE '%\%%';
| id | first_name | last_name |
|----|------------|-----------|
| 8 | XXX | yk%m*6%_a |
Poznámka: U některých databází, např. SQL Server nebo Oracle, je nutné uvést klíčové slovo ESCAPE.
SELECT * FROM students
WHERE last_name LIKE '%\%%' ESCAPE '\';
Líbil se vám článek? Sdílejte ho s ostatními nebo nám napište něco hezkého. Děkujeme!
Mohlo by vás zajímat
Blog

Brzdí vás Excel? Vlastní datové aplikace rychle a bez programátorů.
Pokud pracujete s daty, velká část vaší práce se odehrává v Excelu. Ať už děláte …

Jak vytváříme jednoúčelové aplikace s pomocí AI
Vytváříme malé nástroje. Jeden nástroj, jeden úkol. Tento článek popisuje jak to děláme. A co …

Aritmetický průměr vs. medián
Postup výpočtu aritmetického průměru je poměrně známý. Máme např. následující hodnoty platů: Pro zjištění aritmetického …
Data Apps

Převod textu na řeč
Aplikace pro převod textu na řeč, využívající malý model Kokoro o velikosti 82 MB, běžící pouze na CPU.

Lineární kalendář
Jednoduchý kalendář, který zobrazuje rok v přehledném lineárním zobrazení. Vyberte si mezi dvěma rozvrženími – horizontálním nebo vertikálním – a vytiskněte si ho. Skvělé pro vizualizaci času jako souvislého toku.

Odstraňovač EXIF metadat
Nahrajte obrázek a bezpečně odstraňte všechna skrytá metadata EXIF, jako jsou souřadnice GPS, podrobnosti o fotoaparátu a časová razítka. Metadata lze stáhnout jako soubor CSV pro další analýzu.
Kurzy

SQL pro analytiky
Naučte se základy SQL a relačních databází. Komplexní kurz, který vám dá jistotu při psaní databázových dotazů.

SQL pro každý den
Jak si užít SQL a nezabloudit v kódu

Programování ve VBA
Naučte se automatizovat rutinní činnosti v Excelu pomocí VBA.

Vizualizace dat v Canvě
Naučte se jednoduše vizualizovat data v Canvě. Tento mikro kurz vás provede základy tvorby přehledných grafů.

Statistika v Excelu. Krok za krokem.
Získejte základy statistické analýzy a naučte se je provádět s pomocí Excelu.

Datová gramotnost pro každého
Data literacy. Získejte klíčové znalosti pro dnešní daty řízený svět.
