Grupa Oracle

Grupa Oracle
Podczas pracy z relacyjnymi bazami danych musisz zapytać z różnych tabel lub warunków. Będziesz musiał następnie połączyć wyniki w danym zestawie do użycia przez aplikację.Jedną z najcenniejszych klauzul podczas zapytania Informacje o tabeli jest grupa według klauzuli. Pozwala na grupowanie wierszy danego wyniku na zestaw wartości oparty na danym warstwie. Ułatwia to dzielenie informacji związanych z danym zestawem.Na przykład możesz użyć klauzuli grupy, aby podzielić informacje o pracownikach na podstawie ich działu.

Ten samouczek nauczy Cię, jak korzystać z grupy według klauzuli w bazach danych Oracle.

Grupa Oracle według instrukcji

Grupa według klauzuli jest używana w instrukcji Select, aby podzielić wyniki na różne grupy. Klauzula zwróci następnie jeden wiersz na grupę.

W większości przypadków często znajdziesz grupę w połączeniu z funkcjami agregowanymi, takimi jak suma, avg, max itp. W takim scenariuszu klauzula grupuje dane w pasujących partycjach, a następnie funkcja zagregowana jest stosowana do każdej grupy.

Możemy zademonstrować składnię dla grupy według klauzuli pokazano w fragmencie poniżej:

Wybierz col_list
Z nazwy Table_name
Grupa według Expression_1, Expression_2,… Expression_n;

Zauważ, że grupa według klauzuli pochodzi po klauzuli z.

W niektórych przypadkach możesz uwzględnić klauzulę, aby ograniczyć zakres zapytania, jak pokazano w pytaniu poniżej:

Wybierz col_list
Z nazwy Table_name
Gdzie stan
Grupa według Expression_1, Expression_2,… Expression_n;

Rzędy są następnie grupowane na podstawie warunków określonych w wyrażeniach. Zauważ, że klauzula musi zawierać tylko kolumny grupowe.

Jednak Oracle pozwala na wykonanie grupy wielopoziomowej za pomocą słowa kluczowego ROLUP, jak pokazano w fragmencie poniżej:

Wybierz col_list
Z nazwy Table_name
Grupa przez Rollup (Expression_1, Expression_2,… Expression_N);

Przykładowe użycie

Poniżej znajduje się przykład wykorzystywania użycia grupy według klauzuli w bazach danych Oracle.

Użyj dostępnych danych.

Załóżmy, że mamy tabelę z informacją, jak pokazano:

Przykład 1 - Grupa podstawowa według użycia klauzuli

Poniższe przykładowe zapytanie pokazuje, jak korzystać z grupy według klauzuli do grupowania wynikających z nich rzędów na podstawie działu.

Wybierz nazwę pierwszej nazwy, Department_ID z grupy pracowników według Department_id, First_name;

W takim przypadku oświadczenie powinno zamówić wyniki zapytanych danych na podstawie kolumn Department_id i First_name.

Powstałe wyjście jest jak ustalone poniżej:

Przykład 2 - Korzystanie z grupy z klauzulą ​​Where

W poniższym przykładzie przedstawiamy fragment kodu pokazujący, jak korzystać z grupy według klauzuli w połączeniu z klauzulą ​​gdzie.

Wybierz nazwę pierwszej nazwy, Department_ID od pracowników, w których Department_id> = 100 Grupa według Departamentu_ID, First_name;

W takim przypadku instrukcja rozpoczyna się od wybrania kolumn First_name i Department_ID z tabeli. Następnie filtrujemy tylko dla wierszy, których wartość Departamentu jest większa lub równa 100.

Wreszcie, stosujemy grupę według klauzuli, jak pokazano w poniższej tabeli:

Przykład 3 - Korzystanie z grupy według klauzuli z funkcją łączną

Jak wspomniano, możemy użyć grupy według funkcji z funkcją agregatów. Przykładowa demonstracja znajduje się poniżej:

Wybierz nazwę First_name, Department_ID, suma (wynagrodzenie) od grupy pracowników według Department_id, First_name;

Wynikowy stół:

Przykład 3 - Korzystanie z grupy według klauzuli z Rollup

Poniższy przykład pokazuje, jak użyć słowa kluczowego w kręgu, aby określić prowizję dla każdego pracownika.

Wybierz pracowników, wynagrodzenie, suma (commission_pct * pensja)
Od pracowników
Gdzie commission_pct> = 0
Grupa według Rollup (pracownik_d, wynagrodzenie);

Wyniki:

Wniosek

W tym poście zbadaliśmy użycie grupy według klauzuli w bazach danych Oracle, aby zgrupować zestaw wierszy na podstawie danego wyrażenia.