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 -
- Oracle Warehouse Builder
- Mis on Oracle'i andmebaas
- Karjäär Oracle'is
- Karjäär Oracle'i andmebaasi administraatori juures