Samouczek MySQL

Strona główna MySQL Wprowadzenie do MySQL RDBMS MySQL

SQL MySQL

SQL MySQL WYBIERZ MySQL MySQL GDZIE MySQL I, LUB, NIE MySQL ZAMÓW PRZEZ INSERT INTO w MySQL Wartości NULL MySQL AKTUALIZACJA MySQL USUŃ MYSQL LIMIT MySQL MIN i MAX w MySQL LICZBA, ŚREDNIA, SUMA MYSQL PODOBNE do MySQL Symbole wieloznaczne MySQL MySQL IN MySQL POMIĘDZY Aliasy MySQL Połączenia MySQL WEWNĘTRZNE DOŁĄCZENIE do MySQL DOŁĄCZ DO MYSQL W LEWO DOŁĄCZ DO MYSQL DOŁĄCZ DO MYSQL Samo dołączanie do MySQL UNIA MySQL MySQL GRUPA WG MySQL POSIADAJĄCY MySQL ISTNIEJE MySQL WSZYSTKO, WSZYSTKO MySQL WSTAWIĆ WYBIERZ PRZYPADEK MySQL Funkcje zerowe MySQL Komentarze MySQL Operatory MySQL

Baza danych MySQL

Tworzenie bazy danych MySQL Upuść bazę danych MySQL Utwórz tabelę MySQL Tabela upuszczania MySQL Zmień tabelę MySQL Ograniczenia MySQL MySQL nie jest pusty Unikalny MySQL Klucz podstawowy MySQL Klucz obcy MySQL Kontrola MySQL Domyślny MySQL Indeks tworzenia MySQL Automatyczny przyrost MySQL Daty MySQL Widoki MySQL

Referencje MySQL

Typy danych MySQL Funkcje MySQL

Przykłady MySQL

Przykłady MySQL Quiz MySQL Ćwiczenia MySQL

Oświadczenie CASE MySQL


Instrukcja MySQL CASE

Instrukcja CASEprzechodzi przez warunki i zwraca wartość, gdy pierwszy warunek zostanie spełniony (jak instrukcja jeśli-to-inaczej). Tak więc, gdy warunek jest spełniony, przestanie czytać i zwróci wynik. Jeśli żaden warunek nie jest spełniony, zwraca wartość w ELSEklauzuli.

Jeśli nie ma ELSEczęści i żadne warunki nie są spełnione, zwraca NULL.

CASE Składnia

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

Demo bazy danych

Poniżej znajduje się wybór z tabeli „Szczegóły zamówienia” w przykładowej bazie danych Northwind:

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40


Przykłady przypadków MySQL

Poniższy kod SQL przechodzi przez warunki i zwraca wartość, gdy spełniony jest pierwszy warunek:

Przykład

SELECT OrderID, Quantity,
CASE
    WHEN Quantity > 30 THEN 'The quantity is greater than 30'
    WHEN Quantity = 30 THEN 'The quantity is 30'
    ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;

Poniższy SQL będzie zamawiał klientów według miasta. Jeśli jednak miasto ma wartość NULL, uporządkuj według kraju:

Przykład

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);