Největším problémem, kterému jako databázové často čelíme, je porovnat hodnotu ve více sloupcích. Věřte mi, že kdyby neexistovali žádní srovnávací operátoři, nikdy bychom tento úkol nezvládli. MySQL podporuje mnoho porovnávacích operátorů jako BETWEEN, IN atd. LEAST a GREATEST jsou velmi užitečné, pokud chcete porovnávat hodnoty v mnoha sloupcích.
Tyto operátory přijímají více parametrů a nacházejí nejmenší a největší hodnotu
Nechte nás vytvořit tuto datovou sadu
CREATE table testing(num1 int, num2 int, num3 int); INSERT INTO testing(num1,num2,num3) SELECT 456,90,774 UNION ALL SELECT 70,111,4 UNION ALL SELECT 190,87,391;
Teď, když jsme vytvořili datovou sadu. Spustíme kód zobrazený níže.
SELECT LEAST(num1,num2,num3) as least_value, GREATEST(num1,num2,num3) as greatest_value FROM testing;
Jakmile spustíte výše uvedený kód, zobrazí se následující sada výsledků. Jasně vidíte, že výsledek nyní obsahuje dvě různé hodnoty – nejmenší hodnotu a největší hodnotu.
Pokud tyto operátory nejsou k dispozici, skončíte vytvářením mnoha CASE výrazů, které se stanou složitými, pokud je počet sloupců větší než 3, nebo možná budete muset použít uživatelem definovanou funkci . Tyto operátory jsou však velmi výkonné a snadno se používají.
Dejte mi vědět, co si o tomto blogovém příspěvku myslíte v sekci komentářů níže.