Uvod v izbor v programu Oracle
Oracle je ena najbolj razširjenih baz podatkov v industriji. Najpogosteje se uporablja poizvedba SELECT. Ta poizvedba se uporablja za pridobivanje podatkov iz ene ali več tabel v bazi podatkov. Poizvedba SELECT se ne uporablja samo, ampak z njo se za pridobitev podatkov iz podatkovnih zbirk v industriji uporabljajo številni pogoji, določbe in notranje poizvedbe. SELECT poizvedba ne manipulira z nobenimi podatki v tabeli, v kateri se izvajajo. V tem članku bomo obravnavali različne načine, kako lahko v ORACLE uporabimo poizvedbo SELECT.
Sintaksa:
SELECT expressions
FROM tables
(WHERE conditions);
Prvi dve vrstici skladnje sta obvezni del skladnje, vendar (pogoji KJE) nista izbirni, saj se uporabljajo, če želimo izvleči podatke iz ene ali več tabel na podlagi nekaterih pogojev. "Izrazi" v sintaksi predstavljajo stolpce tabele. Če želimo izvleči vsa polja iz tabele, v sintakso postavimo '*' namesto 'izrazov', sicer vstavimo imena stolpcev.
Primeri za izvajanje Select v Oracle
Spodaj so različni primeri izbire v programu Oracle:
1. IZBERITE vsa polja brez pogojev KJE
Za izbiro vseh polj iz tabel: Uporabili bomo znak '*', da označimo, da želimo izvleči vsa polja iz določene tabele.
Poizvedba:
SELECT * from employee;
Ta poizvedba bo prejela vse zapise iz tabele, saj zanjo ni priložen pogoj.
Izhod:
2. IZBERITE vsa polja s pogojem KJE
Zdaj bomo uporabili, kadar je pogoj za isto prej uporabljeno poizvedbo. V tej poizvedbi želimo le podrobnosti določenega zaposlenega. Za dosego tega bomo uporabili stanje kjer. poglejmo poizvedbo
Poizvedba:
SELECT * from employee WHERE EMPLOYEE_ID= 'AD001';
V tej poizvedbi uporabljamo EMPLOYEE_ID, saj je to primarni ključ v tej tabeli, zato je edinstven.
Izhod:
3. Izberite eno polje iz tabele
V tem primeru bomo uporabili stavek SELECT, da bomo izbrali nekaj polj, ne pa vseh polj iz tabele. Poglejmo poizvedbo.
Poizvedba:
SELECT employee_id, name from employee;
Ta poizvedba bo prikazala samo dva stolpca, ker po izbiri SELECT v tej poizvedbi nismo uporabili '*'.
Izhod:
4. IZBERITE polja iz več tabel
V tem primeru bomo uporabili stavek SELECT za pridobivanje podatkov iz več tabel s pomočjo JOIN. Poglejmo poizvedbo.
Poizvedba:
SELECT employee.name, vehicle.vehicle_name from employee INNER JOIN vehicle ON employee.vehicle_id = vehicle.vehicle_id;
Tu v tej poizvedbi uporabljamo stavek SELECT, ki združuje dve tabeli na podlagi pogoja, da se mora ID vozila iz tabele zaposlenih ujemati z ID-jem vozila iz tabele vozila. Poizvedba prikazuje ime zaposlenega iz tabele zaposlenega in ime vozila iz tabele vozila.
Izhod:
5. Prikažite zapise po vrstnem redu SELECT
Z ukazom ORDER lahko prikažemo tudi določene zapise, ki se lahko povečujejo ali spuščajo s pomočjo pojma ORDER BY s poizvedbo. Pregledali bomo tako naraščajoče kot padajoče poizvedbe.
a. Poizvedba za naraščajoče naročilo
SELECT * from employee ORDER BY name ASC;
V tej poizvedbi prikazujemo vse zapise in nabor rezultatov razvrstimo po imenu v naraščajočem vrstnem redu.
Spodnji posnetek zaslona prikazuje izhod, ko se poizvedba izvaja v SQL Developerju.
Izhod:
b. Poizvedba za padajoče naročilo
SELECT * from employee ORDER BY name DESC;
V tej poizvedbi prikazujemo vse zapise iz tabele, rezultat pa je razvrščen po imenu v padajočem vrstnem redu
Spodnji posnetek zaslona prikazuje izhod, ko se poizvedba izvaja v SQL Developerju.
Izhod:
6. IZBERI poizvedbo s klavzulo GROUP BY
Kadar želimo pridobiti zapise na podlagi skupin, uporabljamo člen GROUP BY z stavkom SELECT. Torej v osnovi združuje vrstice z enakimi vrednostmi. Na splošno se uporablja v povezavi s funkcijami agregata. Koristno je za pripravo zbirnih poročil.
Zdaj si bomo ogledali primer, kako lahko vidimo, kako lahko uporabimo GROUP BY s stavkom SELECT v bazi podatkov oracle.
Poizvedba:
SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME;
Torej v zgornjem primeru v osnovi najdemo število zaposlenih, ki uporabljajo določeno znamko avtomobilov. GROUP BY grupira zapise glede na tip avtomobila in nato uporabimo zbirno funkcijo COUNT za izračun števila zaposlenih v vsaki skupini z uporabo stolpca zaposleni_id, saj je to primarni ključ tabele.
Izhod:
7. IZBERI poizvedbo s klavzulo HAVING
Klavzula vlasništva se uporablja z izreznim stavkom, kadar želimo imeti nekaj pogojev, ko ključne besede ni mogoče uporabiti neposredno s skupnimi funkcijami. Zato je bilo v SQL dodano klavzulo. Ogledali si bomo primer, kako lahko uporabimo klavzulo vlasništva z izrezom.
Poizvedba:
SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME HAVING COUNT(EMPLOYEE_ID)> 2;
Kot lahko vidimo, da smo s skupino GROUP BY dodali klavzulo HAVING, zaradi katere smo lahko postavili pogoj, da se prikažejo samo vozila z več kot dvema zaposlenima osebama. Tu postane uporabna določba HAVING.
Izhod:
Če vidimo izhod, dobimo le dva zapisa namesto petih, ki smo jih dobili, ko smo uporabili funkcijo GROUP BY.
Zaključek
V tem članku smo spoznali skladnjo in razlog, zakaj uporabljamo SELECT, pa tudi različne načine, kako lahko v SQL napišemo poizvedbo SELECT in tudi kje in iz katerih razlogov bi jih morali uporabiti.
Priporočeni članki
To je vodnik za izbiro v programu Oracle. Tukaj razpravljamo o uvodu in različnih primerih izbranih poizvedb v SQL s skladnjo. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Pridružuje se Oracle
- Oracle skladiščenje podatkov
- Agile Oracle
- Kaj je Oracle Database
- Najboljših 6 poizvedbenih primerov notranje pridruži Oracle
- Najboljša razlika med primarnim in tujim ključem