Introduktion til Oracle-klausuler
Bestemmelser i oracle er som nøgleord, der bruger til det specifikke formål, eller som specificerer den specielle betydning. Nogle af klausulerne i oracle er obligatoriske, og nogle af klausulerne er valgfri.
Listen over klausulen, der findes i oracle, er vist nedenfor -
- FRA-klausul: Det er en obligatorisk del i en VælgFRA-klausulen angiver navnet på en tabel, hvorfra dataene skal være tilgængelige.
- CONSTRAINT-klausul: Det er en valgfri klausul i en CREATE TABLE-sætning. En CONSTRAINT-klausul definerer en regel, der skal overholdes, mens dataene indsættes.
- HVOR klausul: Det er en valgfri klausul i en Vælg erklæring eller en opdateringserklæring eller SLET-sætning. WHERE-klausulen angiver, hvilke rækker der skal vælges baseret på en betingelse.
- BESTILLING AF klausul: Det er en valgfri klausul i den valgte sætning eller en CREATE VIEW-sætning eller en INSERT-sætning. En ORDER BY-klausul specificerer i hvilken rækkefølge resultatsæt-rækkerne skal vises.
- FOR UPDATE-klausul: Det er en valgfri klausul i en SELECT-sætning. Markørerne er som standard skrivebeskyttet. Markøren skal kunne opdateres specificeres i FOR UPDATE-klausulen, FOR UPDATE-klausulen håndhæver en check SELECT-sætning under kompilering for at opfylde betingelsen for, at en markør kan opdateres.
- GROUP BY-klausul: Det er en valgfri klausul i en Select-sætning, GROUP BY-klausulen inddeler et resultat i grupper.
- HAVING-klausul: Det er en valgfri klausul for en valgt erklæring. HAVING-klausulen begrænser gruppevalget, som er resultaterne af en GROUP BY-klausul.
- Resultatet forskydes og henter de første klausuler: Resultatforskydningsklausulen bruges til at springe over de N første rækker og vælge de resterende rækker som resultatsæt. Brug af hentning af første klausul sammen med resultatforskydningsklausulen for at begrænse antallet af rækker, der er valgt i resultatsættet.
- BRUG AF klausul: Det er en obligatorisk klausul i forbindelse med sammenføjningen . BRUG-klausulen viser, hvilke kolonner lighed der skal kontrolleres for at gå sammen med de to tabeller.
- HVOR AKTUELT AF klausul: Det er en valgfri klausul i en sletning eller UPDATE-erklæring. Bestemmelsen WHERE CURRENT OF specificerer placering, der slettes på opdaterbare markører eller til opdateringer.
Liste over Oracle Clause
Lad os derefter forstå hver klausul i detaljer -
1. FRA klausul
FROM-klausul er en obligatorisk del i en Select-erklæring. FRA-klausulen specificerer navnet på tabeller, hvorfra dataene eller kolonnerne skal være tilgængelige til brug i udvalgte udtryk.
Syntaks for FROM-klausul
FROM Table1 (, Table2 ) *
Forespørgseksempler
Select * from employee ;
Forespørgseksempel med klausultilstand
select d.dep_id
from department as d
where dep_id< 10
Forespørgseksempel med en ordre efter klausul
select st .tablename, sc .isindex
from sys.systables st, sys.sysconglomerates sc
where st.tableid = sc.tableid
order by tablename, isindex
Forespørgseksempel med en sammenkoblingsbetingelse
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-klausul er en valgfri klausul i en CREATE TABLE-sætning. En CONSTRAINT-klausul definerer en regel, der skal overholdes, mens dataene indsættes.
CONSTRAINT'erne er forskellige på et andet niveau, som angivet nedenfor -
1. Kolonne - niveau begrænsning
Begrænsninger på kolonne-niveau håndhæver reglen til en enkelt kolonne i tabellen. Begrænsningerne på kolonneniveau er vist nedenfor -
- IKKE NULL: Den specificerer, at kolonnen ikke kan gemme NULL-værdier.
- PRIMÆRT Nøgle: Den specificerer, at søjleværdierne skal være unikke, som længere kan bruges til at identificere en række i tabellen. Den primære nøgle specificerer implicit IKKE NULL.
- UNIK: Det specificerer, at kolonneværdierne skal være unikke.
- UDENLANDSK Nøgle: Den specificerer, at der skal henvises til søjleværdierne som den primære nøgle.
- CHECK: Den specificerer regler for kolonneværdierne.
2. Begrænsning på bordet
Begrænsninger på tabelniveau håndhæver reglen til en eller flere kolonner i tabellen. Tabelniveaubegrænsningerne er de samme som søjleniveaubegrænsningen, men forskellen er, hvor begrænsningen er specificeret.
Forespørgseksempler
Eksempel på primærnøglebegrænsning på kolonniveau med navnet did_pk -
create table department
(
Deptid number constraint did_pk primary key,
Dname char(10),
Location char(80) not null,
) ;
Eksempel på primær nøglebegrænsning på tabelniveau ved navn 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 i en Select-erklæring eller en opdateringserklæring eller DELETE-sætning. WHERE-klausulen angiver, hvilke rækker der skal vælges baseret på en betingelse. Kun disse rækker vender tilbage eller sletter eller opdaterer, hvor betingelsen eller udtrykket evalueres til SAND.
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 til sammenføjning af flere tabeller
select a.*, last name
from emp_act as a, employee as e
where a.empno = e.empno ;
4. BESTILLING AF klausul
En ORDER BY-klausul er en valgfri klausul i SELECT-sætningen eller en CREATE VIEW-sætning eller INSERT-sætning eller en skalarisk forespørgsel eller en tabelundersøgelse. Bestemmelsen specificerer i hvilken rækkefølge resultatsættet rækker skal vises.
Syntaks af ORDER BY-klausulen
ORDER BY ( columnName | Expression | ColumnPosition )
( ASC (default) | DESC ) ;
Kolonnen Navn henviser til de kolonnenavne, som resultatet indstilles til rækkefølge. ColumnPosition er et heltal, der specificerer kolonnepositionen i Select Items i forespørgslen i SELECT-sætningen. Udtrykket er numeriske, datetime og streng udtryk. ASC specificerer stigende rækkefølge. DES specificerer faldende rækkefølge.
Bestil efter eksempel med et korrelationsnavn
I nedenstående vælg sætning har placeringskolonnen det korrelationsnavneland, der bruges i rækkefølgen efter klausul -
Select name, location as country
From employee
Order by country
Bestil efter eksempel med et numerisk udtryk
I nedenstående vælg erklæring ordren efter klausul bruger udtryk løn + stigning -
Select name, salary, hike from emp
Order by salary + hike
Bestil efter eksempel med en funktion
I nedenstående vælg sætning funktionen ordre efter klausul til at specificere positionen -
Select a, len from calculation
Order by sin(a)
Bestil efter eksempel, der specificerer med nullbestilling
Du kan angive placeringen af nulværdier ved hjælp af nulbestillingsspecifikationen:
Select * from table1 order by column1 asc nulls last
5. FOR OPDATERING Bestemmelse
FOR UPDATE-klausul håndhæver en check SELECT-sætning under kompilering for at opfylde betingelsen for, at en markør kan opdateres.
Syntaks for FOR UPDATE-klausulen
FOR
(
FETCH ONLY | READ ONLY | UPDATE ( OF columnName (, columnName)* ) )
Kolonnen Navn specificeres i FROM-leddet i forespørgslen.
FOR UPDATE klausuleksempel
select eid, name, salary, deptid from emphist for update
6. GRUPPE AF klausul
Denne klausul giver et undergruppe af grupperesultat.
Syntaks for GROUP BY Clause
GROUP BY
(
columnName (, columnName )*
|ROLLUP ( column-Name (, column-Name )* )
)
eksempler
Find den gennemsnitlige løn for en medarbejder grupperet efter deptid
select avg (salary), deptid
from employee
group by deptid ;
select max (salary), deptid
from employee
group by deptid ;
7. HAR HENVISNING
HAVING-klausulen begrænser gruppevalget, der defineres af GROUP BY-klausulen.
Syntaks af HAVING-klausul
HAVING Condition
Eksempel på HAVING-klausul begrænser gruppevalget for gennemsnit (løn) -
select avg (salary), deptid
from employee
group by deptid having avg(salary) > 50000;
Den nedenstående givne forespørgsel er ulovlig, fordi den uformelle kolonne ikke er en grupperingskolonne -
select avg (salary), deptid
from employee
group by deptid having deptid > 5;
Resultatet udlignes og henter de første klausuler
Resultatet forskydes og henter de første klausuler til at springe over de N første rækker og hente den første klausul til at begrænse antallet af rækker, der er valgt i resultatsættet.
Syntaks af resultatet forskydes og henter de første klausuler -
OFFSET ( integer ) (ROW | ROWS)
FETCH ( FIRST | NEXT ) ( integer ) (ROW | ROWS) ONLY
eksempler
Hent den første række med T
Select * from employee fetch the first row only
8. Brug af klausul
Brugsklausulen bruges til at forbinde de to tabeller baseret på betingelsen.
Syntaks for brug af klausul
Using ( columnname (, columnname )* )
eksempler
I eksemplet samles landestabellen og bytabellen på betingelse af, at byer. Land er lig med lande. Land -
Select * from employee join department
using (eid)
9. HVOR AKTUELT AF Klausul
Bestemmelsen WHERE CURRENT OF specificerer placering, der slettes på opdaterbare markører eller til opdateringer.
Syntaks for HVOR AKTUELT AF klausul
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");
Anbefalede artikler
Dette er en guide til Oracle Clauses. Her diskuterer vi listen over Oracle-klausuler med eksemplerne og syntaks med resp. (Ective resultater. Klausuler i oracle er nøgleord, der bruger til det specifikke formål eller som specificerer den specielle betydning. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -
- Oracle Warehouse Builder
- Hvad er Oracle-database
- Karriere i Oracle
- Karriere i Oracle-databaseadministrator