Wprowadzenie do Select w Oracle
Oracle jest jedną z najczęściej używanych baz danych w branży. Najczęściej stosowanym zapytaniem jest zapytanie SELECT. To zapytanie służy do pobierania danych z jednej lub więcej tabel w bazie danych. Kwerenda SELECT jest używana nie tylko sama, ale wraz z nią wiele warunków, klauzul i wewnętrznych zapytań jest używanych do uzyskania danych z baz danych w branży. Zapytanie SELECT nie manipuluje żadnymi danymi w tabeli, na której jest wykonywany. W tym artykule omówimy różne sposoby wykorzystania zapytania SELECT w ORACLE.
Składnia:
SELECT expressions
FROM tables
(WHERE conditions);
Pierwsze dwa wiersze w składni są obowiązkową częścią składni, ale (GDZIE warunki) są opcjonalne, ponieważ są używane, jeśli chcemy wyodrębnić dane z jednej lub więcej tabel w oparciu o niektóre warunki. „Wyrażenia” w składni reprezentują kolumny tabeli. Jeśli chcemy wyodrębnić wszystkie pola z tabeli, w składni wstawiamy „*” zamiast „wyrażeń”, w przeciwnym razie wstawiamy nazwy kolumn.
Przykłady implementacji Select w Oracle
Poniżej znajdują się różne przykłady select in oracle:
1. Wybierz wszystkie pola bez warunku GDZIE
Aby wybrać wszystkie pola z tabel: użyjemy znaku „*”, aby zaznaczyć, że chcemy wyodrębnić wszystkie pola z określonej tabeli.
Pytanie:
SELECT * from employee;
To zapytanie pobierze wszystkie rekordy z tabeli, ponieważ nie jest do niej dołączona żadna klauzula warunku.
Wynik:
2. Wybierz wszystkie pola z warunkiem GDZIE
Teraz użyjemy warunku where w tym samym wcześniej używanym zapytaniu. W tym zapytaniu potrzebujemy tylko danych konkretnego pracownika. Aby to osiągnąć, wykorzystamy warunek where. spójrzmy na zapytanie
Pytanie:
SELECT * from employee WHERE EMPLOYEE_ID= 'AD001';
W tym zapytaniu używamy EMPLOYEE_ID, ponieważ jest to klucz podstawowy w tej tabeli, a zatem jest unikalny.
Wynik:
3. Wybierz pojedyncze pole z tabeli
W tym przykładzie użyjemy instrukcji SELECT, aby wybrać kilka pól, ale nie wszystkie pola z tabeli. Spójrzmy na zapytanie.
Pytanie:
SELECT employee_id, name from employee;
To zapytanie wyświetli tylko dwie kolumny, ponieważ nie użyliśmy „*” po SELECT w tym zapytaniu.
Wynik:
4. WYBIERZ pola z wielu tabel
W tym przykładzie użyjemy instrukcji SELECT, aby pobrać dane z więcej niż jednej tabeli za pomocą JOIN. Spójrzmy na zapytanie.
Pytanie:
SELECT employee.name, vehicle.vehicle_name from employee INNER JOIN vehicle ON employee.vehicle_id = vehicle.vehicle_id;
W tym zapytaniu używamy instrukcji SELECT, która łączy dwie tabele w oparciu o warunek, że identyfikator pojazdu z tabeli pracowników powinien być zgodny z identyfikatorem pojazdu z tabeli pojazdu. Zapytanie wyświetla nazwę pracownika z tabeli pracowników i nazwę pojazdu z tabeli pojazdów.
Wynik:
5. Wyświetl rekordy w kolejności za pomocą SELECT
Możemy również wyświetlić określone rekordy w porządku, które mogą być rosnące lub malejące przy użyciu klauzuli ORDER BY w zapytaniu. Przyjrzymy się zarówno rosnącym, jak i malejącym zapytaniom dotyczącym zamówienia.
za. Zapytanie dotyczące porządku rosnącego
SELECT * from employee ORDER BY name ASC;
W tym zapytaniu wyświetlamy wszystkie rekordy, a zestaw wyników jest sortowany według nazwy w porządku rosnącym.
Poniższy zrzut ekranu pokazuje dane wyjściowe po wykonaniu zapytania w SQL Developer.
Wynik:
b. Zapytanie dotyczące porządku malejącego
SELECT * from employee ORDER BY name DESC;
W tym zapytaniu wyświetlamy wszystkie rekordy z tabeli, a zestaw wyników jest sortowany według nazwy w kolejności malejącej
Poniższy zrzut ekranu pokazuje dane wyjściowe po wykonaniu zapytania w SQL Developer.
Wynik:
6. WYBIERZ zapytanie z klauzulą GROUP BY
Używamy klauzuli GROUP BY z instrukcją SELECT, gdy chcemy uzyskać rekordy oparte na grupach. Zasadniczo grupuje wiersze o takich samych wartościach. Jest on ogólnie używany w połączeniu z funkcjami agregującymi. Jest przydatny w tworzeniu raportów podsumowujących.
Spójrzmy teraz na przykład, aby zobaczyć, jak możemy użyć GROUP BY z instrukcją SELECT w bazie danych Oracle.
Pytanie:
SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME;
Tak więc w powyższym przykładzie w zasadzie znajdujemy liczbę pracowników korzystających z konkretnej marki samochodu. GROUP BY grupuje rekordy na podstawie typu samochodu, a następnie korzystamy z funkcji agregacyjnej COUNT, aby obliczyć liczbę pracowników w każdej grupie, używając kolumny pracownik_id, ponieważ jest to klucz podstawowy tabeli.
Wynik:
7. WYBIERZ zapytanie z klauzulą HAVING
Klauzula have jest używana z instrukcją select, w której chcemy spełnić pewne warunki, ponieważ słowa kluczowego nie można użyć bezpośrednio z funkcjami agregującymi. Z tego powodu klauzula have została dodana w SQL. Zobaczymy przykład, w jaki sposób możemy użyć klauzuli have z instrukcją select.
Pytanie:
SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME HAVING COUNT(EMPLOYEE_ID)> 2;
Jak widzimy, dodaliśmy klauzulę HAVING do GROUP BY, dzięki czemu jesteśmy w stanie postawić warunek, aby wyświetlać tylko pojazdy o liczbie pracowników większej niż dwóch. W tym miejscu przydatna jest klauzula HAVING.
Wynik:
Jeśli zobaczymy wynik, otrzymamy tylko dwa rekordy zamiast pięciu, które otrzymaliśmy, gdy użyliśmy funkcji GROUP BY.
Wniosek
W tym artykule poznaliśmy składnię i powód, dla którego używamy SELECT, a także różne sposoby, w jakie możemy napisać zapytanie SELECT w SQL, a także gdzie i z jakiego powodu powinniśmy ich używać.
Polecane artykuły
Jest to przewodnik po Select w Oracle. Tutaj omawiamy wprowadzenie i różne przykłady wybranych zapytań w SQL ze składnią. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -
- Dołącza do Oracle
- Oracle Data Warehousing
- Zwinna Oracle
- Co to jest baza danych Oracle
- 6 najczęściej zadawanych pytań dotyczących wewnętrznego łączenia w Oracle
- Najważniejsza różnica między kluczem podstawowym a kluczem obcym