Sissejuhatus valimisse Oracle'is

Oracle on üks tööstuse kõige laialdasemalt kasutatavaid andmebaase. Kõige sagedamini kasutatav päring on VALI päring. Seda päringut kasutatakse andmebaasi ühest või enamast tabelist andmete saamiseks. SELECT-päringut ei kasutata ainult üksi, vaid koos sellega tööstuse andmebaasidest andmete saamiseks kasutatakse paljusid tingimusi, klausleid ja sisemisi päringuid. Päringu SELECT abil ei manipuleerita tabeli andmetega, millel see täidetakse. Selles artiklis käsitleme erinevaid viise, kuidas ORACLE-is päringut SELECT kasutada.

Süntaks:

SELECT expressions
FROM tables
(WHERE conditions);

Süntaksi kaks esimest rida on süntaksi kohustuslik osa, kuid (KUI tingimused) on valikuline, kuna seda kasutatakse juhul, kui soovime mingite tingimuste põhjal andmeid kaevandada ühest või enamast tabelist. Süntaksis olevad väljendid tähistavad tabeli veerge. Kui tahame tabelist kõik väljad välja tõmmata, paneme süntaksi väljendite asemel tähe *, vastasel juhul paneme veergude nimed.

Näited valiku Oracle rakendamiseks

Allpool on toodud erinevad näited oraaklis valimisel:

1. VALIGE kõik väljad ilma WHERE tingimuseta

Kõigi väljade valimiseks tabelitest: kasutame märki '*', mis tähendab, et tahame konkreetsest tabelist kõik väljad eraldada.

Päring:

SELECT * from employee;

See päring tõmbab kõik kirjed tabelist, kuna sellele pole lisatud tingimuste klauslit.

Väljund:

2. VALI kõik väljad tingimusega WHERE

Nüüd kasutame sama varasema päringu korral tingimust. Selles päringus soovime ainult konkreetse töötaja andmeid. Selle saavutamiseks kasutame tingimust kus. Vaatame päringut

Päring:

SELECT * from employee WHERE EMPLOYEE_ID= 'AD001';

Kasutame selles päringus EMPLOYEE_ID, kuna see on selle tabeli peamine võti ja seega ainulaadne.

Väljund:

3. Valige tabelist üks väli

Selles näites kasutame SELECT-avaldust, et valida tabelist mõned väljad, kuid mitte kõik väljad. Vaatame päringut.

Päring:

SELECT employee_id, name from employee;

Selles päringus kuvatakse ainult kaks veergu, kuna me ei ole pärast päringut SELECT '*' kasutanud.

Väljund:

4. VALI väljad mitmest tabelist

Selles näites kavatseme kasutada käsku SELECT andmete kogumiseks rohkem kui ühest tabelist, kasutades funktsiooni JOIN. Vaatame päringut.

Päring:

SELECT employee.name, vehicle.vehicle_name from employee INNER JOIN vehicle ON employee.vehicle_id = vehicle.vehicle_id;

Selles päringus kasutame lauset SELECT, mis ühendab kahte tabelit, lähtudes tingimusest, et töötajate tabeli sõidukitunnus peaks vastama sõiduki ID-le sõidukite tabelist. Päringus kuvatakse töötaja nimi töötajate tabelist ja sõiduki nimi sõidukite tabelist.

Väljund:

5. Kuvage kirjeid SELECT-i abil järjekorras

Samuti saame ORDER-is kuvada konkreetseid kirjeid, mis võivad kasvada või langeda, kasutades päringuga klauslit ORDER BY. Vaatleme nii tõusvaid kui ka langevaid päringuid.

a. Päring tõusvas järjekorras

SELECT * from employee ORDER BY name ASC;

Selles päringus kuvame kõik kirjed ja tulemuskomplekt sorteeritakse nime järgi kasvavas järjekorras.
Allolev ekraanipilt näitab väljundit päringu täitmisel SQL Developeris.

Väljund:

b. Laskuva järjekorra päring

SELECT * from employee ORDER BY name DESC;

Selles päringus kuvame kõik kirjed tabelist ja tulemuskomplekt sorteeritakse nime järgi kahanevas järjekorras
Allolev ekraanipilt näitab väljundit päringu täitmisel SQL Developeris.

Väljund:

6. VALI päring klausliga GROUP BY

Kui tahame saada rühmadepõhiseid kirjeid, kasutame lauset GROUP BY koos SELECT-avaldusega. Nii et põhimõtteliselt rühmitatakse read, millel on samad väärtused. Seda kasutatakse üldiselt koos liitfunktsioonidega. See on kasulik koondaruannete koostamisel.

Vaatleme nüüd näidet, kuidas saaksime kasutada GROUP BY-i koos SELECT-avaldusega oraaklite andmebaasis.

Päring:

SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME;

Nii et ülaltoodud näites leiame põhimõtteliselt töötajate arvu, kes kasutavad konkreetset marki autot. Rühmitamine rühmitamise järgi grupeerib kirjed auto tüübi põhjal ja seejärel kasutame koondfunktsiooni COUNT iga rühma töötajate arvu arvutamiseks veeru töötaja_id abil, kuna see on tabeli peamine võti.

Väljund:

7. VALI päring klausliga HAVING

Võttes klauslit kasutatakse koos valitud avaldusega, kus soovime saada teatud tingimusi, näiteks kui märksõna ei saa otse kasutada liitfunktsioonidega. Sellepärast lisati säte SQL-i. Näeme näidet selle kohta, kuidas saaksime klauslit kasutada koos avaldusega.

Päring:

SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME HAVING COUNT(EMPLOYEE_ID)> 2;

Nagu näeme, et oleme grupiga GROUP BY lisanud HAVING-klausli, mille tõttu võime seada tingimuse, et kuvatakse ainult sõidukid, kus on rohkem kui kaks töötajat. Siin saab klausli HAVING kasulikuks.

Väljund:

Kui näeme väljundit, saame vaid kahe kirje asemel viis, mis saime funktsiooni GROUP BY funktsiooni kasutamisel.

Järeldus

Selles artiklis saime teada süntaksi ja põhjuse, miks me SELECTi kasutame, ning ka erinevad viisid, kuidas SECT-is SELECTi päringut kirjutada ning kus ja mis põhjusel peaksime neid kasutama.

Soovitatavad artiklid

See on Oracle'is valimise juhend. Siin käsitleme SQL-is valitud päringu sissejuhatust ja erinevaid näiteid koos süntaksiga. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Liitub Oracle'iga
  2. Oracle'i andmete ladustamine
  3. Agiilne Oraakel
  4. Mis on Oracle'i andmebaas
  5. Oracle'i sisemise liitumise 6 parimat päringu näidet
  6. Suurim erinevus primaarvõtme ja võõrvõtme vahel

Kategooria: