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 -

  1. Oracle Warehouse Builder
  2. Hvad er Oracle-database
  3. Karriere i Oracle
  4. Karriere i Oracle-databaseadministrator

Kategori: