Introduksjon til Oracle Clauses
Klausuler i oracle er som nøkkelord som bruker til det spesifikke formålet eller som spesifiserer den spesielle betydningen. Noen av klausulene i oracle er obligatoriske, og noen av klausulene er valgfrie.
Listen over klausulen som er til stede i oracle er gitt nedenfor -
- FRA klausul: Det er en obligatorisk del i en VelgFRA-klausulen spesifiserer navnet på en tabell der dataene skal være tilgjengelige.
- CONSTRAINT-ledd: Det er en valgfri klausul i en CREATE TABLE-setning. En CONSTRAINT-klausul definerer en regel som skal tilfredsstilles når du setter inn dataene.
- HVOR klausul: Det er en valgfri klausul for en Select-setning eller oppdateringserklæring eller DELETE-setning. WHERE-leddet spesifiserer hvilke rader som skal velges basert på en betingelse.
- BESTILLING AV klausul: Det er en valgfri klausul for den valgte uttalelsen eller en CREATE VIEW-setning eller en INSERT-setning. En ORDER BY-klausul spesifiserer i hvilken rekkefølge resultatsettet rader skal vises.
- FOR OPPDATERING klausul: Det er en valgfri klausul for en SELECT-uttalelse. Markørene er som standard skrivebeskyttet. Markøren skal kunne oppdateres spesifiseres i FOR UPDATE-leddet, FOR UPDATE-leddet tvinger en SELECT-setning under samlingen for å oppfylle betingelsen for at en markør kan oppdateres.
- GROUP BY-klausul: Det er en valgfri klausul for en Select-setning, GROUP BY-ledningen setter et resultat i grupper.
- HAVING Clause: Det er en valgfri klausul for en valgt uttalelse. HAVING-leddet begrenser gruppevalget som er resultatene av en GROUP BY-klausul.
- Resultatet forskyves og henter første klausuler: Resultatforskyvningsklausulen brukes til å hoppe over de første N-radene og velge de resterende radene som resultatsett. Bruk av henting av første ledd sammen med resultatforskyvningsklausulen for å begrense antall rader som er valgt i resultatsettet.
- BRUKE klausul: Det er en obligatorisk klausul i deltaoperasjonen . BRUKER-klausulen viser hvilke kolonner likhet som skal sjekkes for å bli med i de to tabellene.
- HVOR AKTUELT AV klausul: Det er en valgfri klausul i en slett- eller UPDATE-setning. Bestemmelsen WHERE CURRENT OF spesifiserer plassering som slettes på oppdaterbare markører eller til oppdateringer.
Liste over Oracle Clause
La oss deretter forstå hver klausul i detaljer -
1. FRA klausul
FRA-ledd er en obligatorisk del i en Select-uttalelse. FRA-leddet spesifiserer navnet på tabeller hvor dataene eller kolonnene skal være tilgjengelige for bruk i utvalgte uttrykk.
Syntaks for FROM-ledd
FROM Table1 (, Table2 ) *
Eksempel på spørringer
Select * from employee ;
Spørreeksempel med hvor klausultilstand
select d.dep_id
from department as d
where dep_id< 10
Spørreeksempel med en ordre etter ledd
select st .tablename, sc .isindex
from sys.systables st, sys.sysconglomerates sc
where st.tableid = sc.tableid
order by tablename, isindex
Spørreeksempel med sammenføyningsbetingelse
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. KONSTRAINT-klausul
CONSTRAINT-ledd er en valgfri klausul i en CREATE TABLE-setning. En CONSTRAINT-klausul definerer en regel som skal tilfredsstilles når du setter inn dataene.
KONTROLLENE er forskjellige på et annet nivå, gitt nedenfor -
1. Kolonne - nivå begrensning
Begrensninger i kolonne-nivå tvinger regelen til en enkelt kolonne i tabellen. Begrensningene i kolonnenivå er gitt nedenfor -
- IKKE NULL: Den spesifiserer at kolonnen ikke kan lagre NULL-verdier.
- PRIMÆR Nøkkel: Den spesifiserer at kolonneverdiene skal være unike, som lenger kan brukes til å identifisere en rad i tabellen. Hovednøkkelen spesifiserer implisitt IKKE NULL.
- UNIK: Den spesifiserer at kolonneverdiene må være unike.
- Utenlandsk nøkkel: Den spesifiserer at kolonneverdiene må refereres til som den primære nøkkelen.
- Sjekk: Den spesifiserer regler for kolonneverdiene.
2. Begrensning på bordnivå
Begrensninger på bordnivå tvinger regelen til en eller flere kolonner i tabellen. Tabellnivåbegrensningene er de samme som kolonnenivåbegrensningen, men forskjellen er der begrensningen er spesifisert.
Eksempel på spørringer
Eksempel på primærnøkkelbegrensning på kolonnivå med navnet did_pk -
create table department
(
Deptid number constraint did_pk primary key,
Dname char(10),
Location char(80) not null,
) ;
Eksempel for primærnøkkelbegrensning på bordnivå med navnet did_pk
create table department
(
Deptid number constraint did_pk primary key,
Dname char(10),
Location char(80) not null,
primary key (Deptid)
);
3. HVOR klausul
Dette er en valgfri klausul for en Select-setning eller oppdateringserklæring eller DELETE-setning. WHERE-leddet spesifiserer hvilke rader som skal velges basert på en betingelse. Bare de radene returnerer eller sletter eller oppdaterer der tilstanden eller uttrykket evalueres til SANN.
Syntaks for hvor klausul
WHERE Booleanexpression
Eksempel
Hvor klausuleksempel
select *
from flight
where business_taken_seats is null
or business_taken_seats = 0
Hvor klausuleksempel for å bli med i flere tabeller
select a.*, last name
from emp_act as a, employee as e
where a.empno = e.empno ;
4. BESTILLING AV klausul
En ORDER BY-klausul er en valgfri klausul i SELECT-setningen eller en CREATE VIEW-setning eller INSERT-setning eller en skalærundersøkelse eller en tabellundersøkelse. Bestemmelsen spesifiserer rekkefølgen som resultatsettet rader skal vises på.
Syntaks for ORDER BY-leddet
ORDER BY ( columnName | Expression | ColumnPosition )
( ASC (default) | DESC ) ;
Kolonnen Navn refererer til kolonnenavn som resultatet ble satt til rekkefølge med. ColumnPosition er et helt tall som spesifiserer kolonneposisjonen i Select Items i spørringen til SELECT-setningen. Uttrykket er numeriske, datetime og strenguttrykk. ASC spesifiserer stigende rekkefølge. DES spesifiserer fallende rekkefølge.
Bestill etter eksempel med et korrelasjonsnavn
I den valgte uttalelsen nedenfor har plasseringskolonnen landets korrelasjonsnavn som brukes i rekkefølgen etter ledd -
Select name, location as country
From employee
Order by country
Bestill etter eksempel med et numerisk uttrykk
I utsnittet nedenfor velger du ordren etter ledd uttrykk lønn + stigning -
Select name, salary, hike from emp
Order by salary + hike
Bestill etter eksempel med en funksjon
I utsnittet nedenfor velger du setningen bruk-funksjonen for å spesifisere posisjonen -
Select a, len from calculation
Order by sin(a)
Bestill etter eksempel og spesifiser med nullbestilling
Du kan angi plasseringen av nullverdier ved å bruke nullbestillingsspesifikasjonen:
Select * from table1 order by column1 asc nulls last
5. FOR OPPDATERING
FOR OPPDATERING klausul tvinger en SELECT-setning under samlingen for å oppfylle betingelsen for at en markør kan oppdateres.
Syntaks for FOR UPDATE-ledd
FOR
(
FETCH ONLY | READ ONLY | UPDATE ( OF columnName (, columnName)* ) )
Kolonnen Navn spesifiserer i FROM-leddet i spørringen.
FOR UPDATE klausuleksempel
select eid, name, salary, deptid from emphist for update
6. GRUPPE AV klausul
Denne klausulen gir et undergruppe av grupperesultat.
Syntaks for GROUP BY Clause
GROUP BY
(
columnName (, columnName )*
|ROLLUP ( column-Name (, column-Name )* )
)
eksempler
Finn gjennomsnittslønnen til en ansatt gruppert etter deptid
select avg (salary), deptid
from employee
group by deptid ;
select max (salary), deptid
from employee
group by deptid ;
7. HAR Hensyn
HAVING-leddet begrenser gruppevalget som defineres av GROUP BY-leddet.
Syntaks for HAVING Clause
HAVING Condition
Eksempel på HAVING-ledd begrenser gruppevalget for gjennomsnitt (lønn) -
select avg (salary), deptid
from employee
group by deptid having avg(salary) > 50000;
Den nedenfor gitte spørringen er ulovlig fordi den avdøde kolonnen ikke er en grupperingskolonne -
select avg (salary), deptid
from employee
group by deptid having deptid > 5;
Resultatet oppveies og henter første ledd
Resultatet forskyves og henter første leddsetninger for å hoppe over de første N-radene og hente første leddsbruk for å begrense antall rader som er valgt i resultatsettet.
Syntaks for resultatet forskjøvet og hent første klausuler -
OFFSET ( integer ) (ROW | ROWS)
FETCH ( FIRST | NEXT ) ( integer ) (ROW | ROWS) ONLY
eksempler
Hent den første raden med T
Select * from employee fetch the first row only
8. Ved å bruke klausul
Bruksbestemmelsen bruker for å bli med i de to tabellene basert på betingelsen.
Syntaks for bruk av klausul
Using ( columnname (, columnname )* )
eksempler
I eksemplet blir landstabellen og bytabellen sammen med betingelsen som byer. Landet er lik landene. land -
Select * from employee join department
using (eid)
9. HVOR AKTUELT AV Klausul
Klausulen WHERE CURRENT OF spesifiserer plassering som slettes på oppdaterbare markører eller til oppdateringer.
Syntaksen til WHERE CURRENT OF clause
WHERE CURRENT OF cursorName
Eksempel
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");
Anbefalte artikler
Dette er en guide til Oracle Clauses. Her diskuterer vi listen over Oracle Clause med eksemplene og syntaks med resp (ektive resultater. Clauses in oracle er nøkkelord som bruker til det spesifikke formålet eller som spesifiserer den spesielle betydningen. Du kan også gå gjennom våre andre foreslåtte artikler for å lære mer -
- Oracle Warehouse Builder
- Hva er Oracle-databasen
- Karriere i Oracle
- Karriere i Oracle-databaseadministrator