Sissejuhatus Oraaklausetesse

Oraakli klauslid on nagu märksõnad, mida kasutatakse konkreetsel eesmärgil või mis täpsustavad erilist tähendust. Mõned oraaklis sisalduvad klauslid on kohustuslikud ja mõned klauslid on valikulised.

Oraaklis sisalduva klausli loetelu on esitatud allpool -

  • Klauslist: see on SelectThe FROM-i kohustuslik osa, mis täpsustab tabeli nime, kust andmed peavad olema juurdepääsetavad.
  • CONSTRAINT Klausel: see on CREATE TABLE avalduse valikuline punkt. CONSTRAINT klausel määratleb reegli, mida tuleb andmete sisestamise ajal täita.
  • KUS klausel: see on valikuline lause väljavõtte või värskenduse väljavõtte või kustutamise väljavõtte korral. WHERE klauslis täpsustatakse, millised read tuleb tingimuse alusel valida.
  • TELLIMUS klausli järgi: see on valikulise lause või avalduse CREATE VIEW või INSERT avalduse valikuline klausel. Klausel ORDER BY täpsustab, millises järjekorras tulemuskomplekti read ilmuvad.
  • UUENDAMISLAUS: see on VALIKU avalduse valikuline punkt. Kursorid on vaikimisi kirjutuskaitstud. Kursor peaks olema värskendatav, nagu on täpsustatud klauslis FOR UPDATE, klausel FOR UPDATE sunnib kompileerimise ajal kontrollima VALI väljavõtte, mis vastab kursori värskendatavuse tingimusele.
  • GROUP BY klausel: see on Select-avalduse valikuline lause, GROUP BY-lause alajaotuse tulemus jagatakse rühmadesse.
  • HAVING klausel: see on valitud avalduse valikuline punkt. Klausel HAVING piirab grupi valikut, mis tulenevad klauslist GROUP BY.
  • Tulemuse nihutamine ja esimeste lausete toomine: klauslid: tulemuse nihke klauslit kasutatakse N esimese rea vahelejätmiseks ja tulemuste komplektina ülejäänud ridade valimiseks. Esimese tõmbeklausli kasutamine koos tulemuse nihke klausliga vähendab tulemuste komplektis valitud ridade arvu.
  • Klausli kasutamine: see on liitumisoperatsiooni kohustuslik klausel . KASUTUSklausel näitab, milliste veergude võrdsust kahe tabeli liitmiseks tuleb kontrollida.
  • KUS klausli praegune: see on valikuline säte kustutamis- või UPDATE-avalduses. Klausel WHERE CURRENT täpsustab asukohta, mille kustutavad kursorid või värskendused.

Oraaklause loetelu

Järgnevalt mõistame üksikasjalikumalt iga klauslit -

1. klauslist

FROM-lause on Select-avalduse kohustuslik osa. FROM-klausel täpsustab nende tabelite nime, kust andmed või veerud peavad olema valitud avaldistes kasutamiseks juurdepääsetavad.

FROM-lause süntaks

FROM Table1 (, Table2 ) *

Päringu näited

Select * from employee ;

Päringu näide kus klausli tingimus

select d.dep_id
from department as d
where dep_id< 10

Päringu näide koos klausliga

select st .tablename, sc .isindex
from sys.systables st, sys.sysconglomerates sc
where st.tableid = sc.tableid
order by tablename, isindex

Päringu näide liitumistingimusega

select *
from flights f, flightavailability fa
where fa.flight_id = f.flight_id
and fa.segment_number = f.segment_number
and f.flight_id < 115

2. LEPINGU klausel

Klausel CONSTRAINT on avalduse CREATE TABLE valikuline punkt. CONSTRAINT klausel määratleb reegli, mida tuleb andmete sisestamise ajal täita.

CONSTRAINTID on erineval tasemel erinevad, nagu allpool toodud -

1. Veerg - taseme piirang

Veerutaseme piirangud jõustavad reegli tabeli ühe veeru jaoks. Veeru taseme piirangud on toodud allpool -

  • NOT NULL: see täpsustab, et veerg ei saa salvestada NULL-i väärtusi.
  • EELMÄRK: see määrab, et veeru väärtused peaksid olema unikaalsed, mida saab kasutada tabeli rea tuvastamiseks. PRIMARY KEY tähistab kaudselt NOT NULL.
  • Ainulaadne: see täpsustab, et veeru väärtused peavad olema unikaalsed.
  • VÄLISVÕTM: See täpsustab, et veeru väärtustele tuleb viidata kui peamisele võtmele.
  • CHECK: see määrab veeru väärtuste reeglid.
2. Tabelitaseme piirang

Tabelitaseme piirangud jõustavad reegli tabelis ühte või mitmesse veergu. Tabelitaseme piirangud on samad, mis veeru taseme piirangud, kuid erinevus seisneb selles, kus piirang on täpsustatud.

Päringu näited

Näide veerutaseme peamise võtme piirangust nimega did_pk -

create table department
(
Deptid number constraint did_pk primary key,
Dname char(10),
Location char(80) not null,
) ;

Tabelitaseme peamise võtme piirangu näide nimega did_pk

create table department
(
Deptid number constraint did_pk primary key,
Dname char(10),
Location char(80) not null,
primary key (Deptid)
);

3. KUS klausel

See on valikuline lause väljavõtte Select või värskenduse või DELETE väljavõtte kohta. WHERE klauslis täpsustatakse, millised read tuleb tingimuse alusel valida. Ainult need read naasevad, kustutavad või värskendavad, kui tingimuse või avalduse väärtus on TÕENE.

Kust lause lause süntaks

WHERE Booleanexpression

Näide

Kus klausli näide

select *
from flight
where business_taken_seats is null
or business_taken_seats = 0

Kui klausli näide mitme tabeli liitmiseks

select a.*, last name
from emp_act as a, employee as e
where a.empno = e.empno ;

4. TELLIMUS klausli järgi

Klausel ORDER BY on avalduse SELECT või CREATE VIEW avalduse või INSERT avalduse või Scalar Subquery või Table Subquery valikuline lause. Klausel täpsustab tulemuste komplekti ridade kuvamise järjekorda.

Klausli ORDER BY süntaks

ORDER BY ( columnName | Expression | ColumnPosition )
( ASC (default) | DESC ) ;

VeergNimi Viitab veeru nimedele, mille alusel tulemus seatakse järjekorda. VeergPositsioon on täisarv, mis täpsustab veeru positsiooni vali üksused valimisel SELECT-i päringus. Lause on numbriline, kuupäeva- ja stringiavaldis. ASC täpsustab kasvavat järjekorda. DES määrab kahaneva järjekorra.

Järjestage korrelatsiooninimega näite järgi

Allpool valitud avalduses on asukoha veerus korrelatsiooninimi riik, mida kasutatakse järjekorras alapunkti järgi -

Select name, location as country
From employee
Order by country

Järjestage numbrilise avaldisega näite järgi

Allpool valige avalduses lause järgi tellimine väljendiga palk + matk -

Select name, salary, hike from emp
Order by salary + hike

Järjestage funktsiooni abil näite järgi

Allpool vali avaldus, kasutades punkti järgi funktsiooni positsiooni täpsustamiseks -

Select a, len from calculation
Order by sin(a)

Järjesta näite abil, täpsustades nulltellimisega

Nullväärtuste asukoha saate täpsustada nulltellimuste spetsifikatsiooni abil:

Select * from table1 order by column1 asc nulls last

5. UUENDAMISE klausel

FOR UPDATE klausel sunnib kommenteerimise ajal kontrollima VALI avaldust, et see vastaks kursori värskendatavuse tingimusele.

Klausli FOR UPDATE süntaks

FOR
(
FETCH ONLY | READ ONLY | UPDATE ( OF columnName (, columnName)* ) )

VeergNimi täpsustatakse päringu FROM-is.

UUENDAMISEKS klausli näide

select eid, name, salary, deptid from emphist for update

6. RÜHM klausli järgi

See klausel tagastab rühmade alamhulga tulemuse.

Rühma Süntaks lause järgi

GROUP BY
(
columnName (, columnName )*
|ROLLUP ( column-Name (, column-Name )* )
)

Näited

Leidke töötaja keskmine palk, mis on grupeeritud peptiidide järgi

select avg (salary), deptid
from employee
group by deptid ;

select max (salary), deptid
from employee
group by deptid ;

7. LÕPPSÄTE

Klausel HAVING piirab grupi valikut, mille määratleb klausel GROUP BY.

Süntaktiline lause

HAVING Condition

Näide HAVING-klauslist piirab grupi valikut keskm (palk) -

select avg (salary), deptid
from employee
group by deptid having avg(salary) > 50000;

Allpool esitatud päring on ebaseaduslik, kuna peidetud veerg ei ole rühmitamise veerg -

select avg (salary), deptid
from employee
group by deptid having deptid > 5;

Tulemus kompenseerib ja toob esimesed klauslid

Tulemuse nihke ja esimeste lausete toomise klauslid on mõeldud N esimese rea vahelejätmiseks ja esimese klausli toomiseks, et piirata tulemuste komplektis valitud ridade arvu.

Tulemuse nihke süntaks ja esimeste lausete toomine -

OFFSET ( integer ) (ROW | ROWS)
FETCH ( FIRST | NEXT ) ( integer ) (ROW | ROWS) ONLY

Näited

Too esimene rida T

Select * from employee fetch the first row only

8. klausli kasutamine

Kasutusklausel ühendab tingimuse alusel kahe tabeli.

Klausli kasutamise süntaks

Using ( columnname (, columnname )* )

Näited

Näites liituvad riikide tabel ja linnade tabel tingimusel, et linnad.riigid on võrdsed riikidega. riik -

Select * from employee join department
using (eid)

9. KUS klausli kehtivus

Klausel WHERE CURRENT täpsustab asukohta, mille kustutavad kursorid või värskendused.

Süntaks lause KUS praegune lause kohta

WHERE CURRENT OF cursorName

Näide

Statement stmt = conn.createStatement();
stmt.setCursorName("employeeres");
ResultSet res = conn.executeQuery(
"SELECT ename, salary FROM employee FOR UPDATE OF salary");
Statement stmt1 = conn.createStatement();
stmt1.executeUpdate("UPDATE employee SET salary = salary +10000 WHERE CURRENT
OF employeeres");

Soovitatavad artiklid

See on juhend Oraaklausete juurde. Siin käsitleme oraaklite klausli loetelu koos näidetega ja süntaksi vastavate tulemustega. Oraakli klauslid on märksõnad, mida kasutatakse konkreetsel eesmärgil või mis täpsustavad erilist tähendust. Lisateabe saamiseks võite minna ka meie teistest soovitatud artiklitest -

  1. Oracle Warehouse Builder
  2. Mis on Oracle'i andmebaas
  3. Karjäär Oracle'is
  4. Karjäär Oracle'i andmebaasi administraatori juures

Kategooria: