Instrukcja Oracle Case

Instrukcja Oracle Case
Instrukcja przypadku jest potężnym wyrażeniem warunkowym w Oracle, która pozwala użytkownikowi wykonywać inną logikę warunkową. Instrukcja przypadku może poprawić wydajność zapytania i zaoszczędzić czas, definiując wiele warunków w jednym zapytaniu zamiast wielu zapytań warunkowych. Za pomocą instrukcji sprawy użytkownik może zdefiniować wiele warunków i odpowiednich instrukcji do wykonania, gdy warunek jest prawdziwy. Jeśli żaden z określonych warunków nie jest prawdziwy, wówczas domyślny blok zostanie wywołany.

Ten przewodnik wyjaśni:

  • Jak używać prostej instrukcji spraw w Oracle?
  • Jak korzystać z instrukcji Oracle Case w klauzuli Where?
  • Jak korzystać z instrukcji Oracle Case w funkcji zagregowanej?

Jak używać prostej instrukcji spraw w Oracle?

Używać prostego SPRAWA oświadczenie w Oracle, „A”GDY„Klauzula może być używana do stanu z„NASTĘPNIE”Klauzula dla odpowiedniego wyjścia. Domyślne wyjście można dodać za pomocą „W PRZECIWNYM RAZIE”Klauzula. W przypadku wielu warunków wiele „GDY" I "NASTĘPNIE”Można użyć klauzul. Przejdźmy do składni instrukcji sprawy:

SPRAWA
Kiedy [potępienie], następnie [wynik]
Kiedy [warunek] to [wynik]

Kiedy [warunek] to [wynik]
Else [default-result]
KONIEC

Przykład 1: Prosta instrukcja przypadku

Zobaczmy przykład prostego oświadczenia, sprawdzając „status”Kolumna w„Zamówienia" tabela:

Wybierz Order_id, Customer_ID, Order_Date,
SPRAWA
Gdy status = „Wysłany”, a następnie ” -> Zamów wysłany”
Kiedy status = „oczekujący” -> Zamów oczekujących ”
Else ' -> Zamów anulowane'
Zakończ jako status
Z rozkazów;

Wyjście

Wyjście przedstawia, że ​​wynik został wydrukowany zgodnie z danym oświadczeniem.

Przykład 2: Instrukcja przypadku przy użyciu streszczenia składni

Oświadczenie o sprawie można również zapisać w stenowatej składni, która pomija wyrażenie po słowach kluczowych i bezpośrednio używa nazwy kolumny, e.G., "status”:

Wybierz Order_id, Customer_ID, Order_Date,
Status sprawy
Po „wysłaniu”, a następnie ” -> Zamów wysłany”
Kiedy „oczekuje” na to ” -> Zamów czas”
Else ' -> Zamów anulowane'
Zakończ jako status
Z rozkazów;

Wyjście

Wyjście wyświetliło ten sam wynik, co powyższy przykład.

Jak użyć instrukcji Oracle Case w klauzuli Where?

„„GDZIE„Klauzula jest wykorzystywana do przesączania danych. Instrukcja Oracle Case może być używana w „GDZIE”Klauzula dla filtra warunkowego danych. Przykład podano poniżej:

Wybierz produkt_id, Warehouse_ID, ilość
Z zapasów
GDZIE
SPRAWA
Gdy ilość> 200, to 1
Jeszcze 0
Koniec = 1;

W powyższym kodzie „„Zapasy”Dane Table są filtrowane zgodnie z określonym warunkiem jako ilość wartość większa niż 200.

Wyjście

Wyjście przedstawia, że ​​wiersze o ilości większej niż 200 zostały wydrukowane.

Jak używać instrukcji Oracle Case w funkcji łącznej?

funkcje agregatów są wykorzystywane do obliczenia zestawu wartości i pobierania pojedynczej wartości. Instrukcja Oracle Case może być używana w funkcji agregowanej do wykonania obliczeń warunkowych na zbiorze wartości. Przykład podano poniżej:

Wybierz Order_id, Item_ID, Product_ID, Unit_Price,
Suma (przypadek
Kiedy Unit_Price> = 470, a następnie ilość
Jeszcze 0
Koniec) jako ilość
Z Order_Items
Grupa według order_id, item_id, produkt_id, jednostka_price;

W powyższym przykładzie warunek został zastosowany na „CENA JEDNOSTKOWA”Kolumna„ „ZAMAWIAĆ RZECZY" tabela.

Wyjście

Wyjście przedstawia, że ​​jeśli CENA JEDNOSTKOWA wartość była większa niż 470 Następnie wartość ilość pokazano, że inaczej pokazał zero (0).

Wniosek

Instrukcja Oracle Case służy do zdefiniowania wielu warunków wraz z ich konkretnym instrukcją do wykonania. Gdy warunek jest prawdziwy, instrukcje powiązane z tym warunkiem zostaną wykonane, w przeciwnym razie blok domyślny zostanie wykonany. Można go również użyć w „GDZIE”Klauzula w celu warunkowego filtrowania danych, a także w funkcjach agregowanych w celu wykonania obliczeń warunkowych na zbiorze wartości. Przewodnik przedstawił szczegółowe wyjaśnienie z przykładami, jak korzystać z instrukcji Oracle Case.