Uvod u odabir u usluzi Oracle
Oracle je jedna od najčešće korištenih baza podataka u industriji. Najčešće korišteni upit je SELECT upit. Ovaj se upit koristi za dohvaćanje podataka iz jedne ili više tablica u bazi podataka. SELECT upit ne koristi se sam, već se s njim koriste mnogi uvjeti, klauzule i unutarnji upiti za dobivanje podataka iz baza podataka u industriji. SELECT upit ne manipulira bilo kojim podacima u tablici na kojoj se izvodi. U ovom ćemo članku razgovarati o različitim načinima korištenja SELECT upita u ORACLE.
Sintaksa:
SELECT expressions
FROM tables
(WHERE conditions);
Prva dva retka u sintaksi obvezni su dio sintakse, ali (GDJE su uvjeti) izborni je jer se koristi ako želimo izvući podatke iz jedne ili više tablica na temelju nekih uvjeta. "Izrazi" u sintaksi predstavljaju stupce tablice. Ako želimo izvući sva polja iz tablice, u sintaksu stavljamo „*“ umjesto „izraza“, u protivnom stavljamo imena stupaca.
Primjeri za implementaciju Odaberite u Oracleu
Ispod su sljedeći primjeri odabira u Oracleu:
1. ODABERITE sva polja bez uvjeta GDJE
Za odabir svih polja iz tablica: Koristit ćemo znak '*' da označimo da želimo izvući sva polja iz određene tablice.
upita:
SELECT * from employee;
Ovaj će zahtjev preuzeti sve zapise iz tablice, jer uz njega nije priložen nijedan uvjet.
Izlaz:
2. ODABERITE sva polja s uvjetom GDJE
Sada ćemo koristiti gdje je uvjet na istom ranije korištenom upitu. U ovom upitu želimo samo detalje o određenom zaposleniku. Da bismo to postigli, upotrijebit ćemo uvjet gdje. pogledajmo upit
upita:
SELECT * from employee WHERE EMPLOYEE_ID= 'AD001';
U ovom upitu koristimo EMPLOYEE_ID, jer je to primarni ključ u ovoj tabeli, pa je tako jedinstven.
Izlaz:
3. ODABERITE jedno polje iz tablice
U ovom ćemo primjeru koristiti SELECT izraz za odabir nekoliko polja, ali ne i svih polja iz tablice. Pogledajmo upit.
upita:
SELECT employee_id, name from employee;
Ovaj će upit prikazati samo dva stupca jer nakon odabira SELECT u ovom upitu nismo koristili '*'.
Izlaz:
4. ODABIR polja iz više tablica
U ovom ćemo primjeru koristiti SELECT izjavu za dohvaćanje podataka iz više tablica pomoću JOIN. Pogledajmo upit.
upita:
SELECT employee.name, vehicle.vehicle_name from employee INNER JOIN vehicle ON employee.vehicle_id = vehicle.vehicle_id;
Ovdje u ovom upitu koristimo SELECT izjavu koja spaja dvije tablice na temelju uvjeta da ID vozila iz tablice zaposlenika treba odgovarati ID-u vozila iz tablice vozila. Upit prikazuje ime zaposlenika iz tablice zaposlenika i naziv vozila iz tablice vozila.
Izlaz:
5. Prikažite zapise redoslijedom pomoću SELECT
Također možemo prikazati određene zapise u ORDER-u koji se mogu uzlazno ili silazno koristiti rečenicom ORDER BY s upitom. Razmatrat ćemo oba upadajućeg i silaznog naloga.
a. Upit za uzlazni poredak
SELECT * from employee ORDER BY name ASC;
U ovom upitu prikazujemo sve zapise, a skup rezultata sortiran je prema imenu uzlaznim redoslijedom.
Snimak zaslona u nastavku prikazuje izlaz kada se upit izvršava u SQL Developeru.
Izlaz:
b. Upit za silazni poredak
SELECT * from employee ORDER BY name DESC;
U ovom upitu prikazujemo sve zapise iz tablice, a skup rezultata razvrstavamo po imenu u silaznom redoslijedu
Snimak zaslona u nastavku prikazuje izlaz kada se upit izvršava u SQL Developeru.
Izlaz:
6. ODABIR upit s klauzurom GROUP BY
Koristimo klauzulu GROUP BY sa izrazom SELECT kada želimo dobiti zapise na temelju grupa. U osnovi to grupira redove koji imaju iste vrijednosti. Koristi se općenito u konjugaciji s funkcijama agregata. Korisno je u izradi sažetih izvještaja.
Sada ćemo pogledati primjer da vidimo kako možemo koristiti GROUP BY sa SELECT izrazom u bazi podataka oracle.
upita:
SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME;
Dakle, u gornjem primjeru uglavnom pronalazimo broj zaposlenih koji koriste određenu marku automobila. GRUPI PO PO grupiramo zapise prema vrsti automobila, a zatim koristimo agregatnu funkciju COUNT da izračunamo broj zaposlenih u svakoj grupi pomoću stupca Employ_id jer je to primarni ključ tablice.
Izlaz:
7. ODABIR upita s klauzulom HAVING
Klauzula vlasništvo koristi se s naredbom select gdje želimo imati neke uvjete, jer se ključna riječ ne može koristiti izravno sa skupnim funkcijama. To je razlog što je klauzula vlasništva dodana u SQL. Vidjet ćemo primjer kako možemo koristiti klauzulu vlasništvo s naredbom select.
upita:
SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME HAVING COUNT(EMPLOYEE_ID)> 2;
Kao što vidimo da smo s GROUP BY dodali klauzulu HAVING zahvaljujući kojoj smo u stanju postaviti uvjet da se prikazuju samo vozila sa zaposlenima više od dva. Ovdje postaje korisna klauzula HAVING.
Izlaz:
Ako vidimo izlaz, dobit ćemo samo dva zapisa umjesto pet koji smo dobili kada smo koristili GROUP BY funkciju.
Zaključak
U ovom smo članku naučili sintaksu i razlog zašto koristimo SELECT, kao i različite načine na koje možemo napisati SELECT upit u SQL-u, a također i gdje i zbog čega bismo ih trebali koristiti.
Preporučeni članci
Ovo je vodič za Izbor u Oracleu. Ovdje smo raspravljali o uvodu i različitim primjerima odabira upita u SQL-u sa sintaksom. Možete pogledati i sljedeće članke da biste saznali više -
- Pridružuje se Oracleu
- Oracle skladištenje podataka
- Agile Oracle
- Što je baza podataka Oracle
- Top 6 primjera upita unutarnjeg pridruživanja Oracleu
- Najbolja razlika između primarnog i inozemnog ključa