Inleiding tot Oracle-clausules

Clausules in orakel zijn als trefwoorden die voor het specifieke doel gebruiken of die de speciale betekenis specificeren. Sommige clausules in Oracle zijn verplicht en sommige clausules zijn optioneel.

De lijst van de clausule die aanwezig is in orakel wordt hieronder gegeven -

  • FROM-clausule: het is een verplicht onderdeel in een SelectThe FROM-clausule geeft de naam van een tabel op van waaruit de gegevens toegankelijk moeten zijn.
  • CONSTRAINT-clausule: het is een optionele clausule van een CREATE TABLE-instructie. Een CONSTRAINT-clausule definieert een regel waaraan moet worden voldaan bij het invoegen van de gegevens.
  • WHERE-clausule: het is een optionele clausule van een Select-instructie of update-instructie of DELETE-instructie. De clausule WHERE geeft aan welke rijen moeten worden geselecteerd op basis van een voorwaarde.
  • ORDER BY-clausule: het is een optionele clausule van de select-opdracht of een CREATE VIEW-opdracht of een INSERT-opdracht. Een ORDER BY-component geeft aan in welke volgorde de rijen met resultaten worden weergegeven.
  • VOOR UPDATE-clausule: het is een optionele clausule van een SELECT-instructie. De cursors zijn standaard alleen-lezen. De cursor moet bijgewerkt kunnen worden, specificeert in de FOR UPDATE-clausule, de FOR UPDATE-clausule dwingt een selectievakje SELECT tijdens de compilatie om te voldoen aan de voorwaarde voor een cursor die kan worden bijgewerkt.
  • GROUP BY-clausule: het is een optionele clausule van een Select-instructie, de GROUP BY-clausule plaatst een resultaat in groepen.
  • HAVING-clausule: het is een optionele clausule van een select-statement. De clausule HAVING beperkt de groepsselectie die het resultaat is van een clausule GROUP BY.
  • De resultaatcompensatie en eerste clausules ophalen: De resultaatcompensatieclausule wordt gebruikt om de eerste N rijen over te slaan en de resterende rijen te selecteren als resultatenset. De ophaal eerste clausule gebruikt samen met de resultaatverschuivingsclausule om het aantal rijen te beperken dat in de resultatenset is geselecteerd.
  • GEBRUIK-clausule: het is een verplichte clausule in de join-bewerking . De clausule USING laat zien welke kolommengelijkheid moet worden aangevinkt om aan de twee tabellen deel te nemen.
  • WAAR HUIDIGE Clausule: Het is een optionele clausule in een delete- of UPDATE-instructie. De clausule WHERE CURRENT OF geeft de locatie aan die wordt verwijderd bij updatable cursors of updates.

Lijst met Oracle-clausule

Laten we vervolgens elke clausule in detail begrijpen -

1. UIT Clausule

De clausule FROM is een verplicht onderdeel in een Select-instructie. De clausule FROM geeft de naam op van tabellen van waaruit de gegevens of kolommen toegankelijk moeten zijn voor gebruik in geselecteerde expressies.

Syntaxis van clausule FROM

FROM Table1 (, Table2 ) *

Query voorbeelden

Select * from employee ;

Queryvoorbeeld met Where-voorwaarde

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

Voorbeeld van een zoekopdracht met een order op clausule

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

Voorbeeld van een query met een join-voorwaarde

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. CONSTRAINT-clausule

De clausule CONSTRAINT is een optionele clausule van een instructie CREATE TABLE. Een CONSTRAINT-clausule definieert een regel waaraan moet worden voldaan bij het invoegen van de gegevens.

De CONSTRAINT zijn verschillend op een ander niveau, zoals hieronder weergegeven -

1. Kolom - niveaubeperking

Kolom - niveaubeperkingen dwingen de regel toe aan een enkele kolom in de tabel. De beperkingen voor het kolomniveau worden hieronder gegeven -

  • NIET NULL: het geeft aan dat de kolom geen NULL-waarden kan opslaan.
  • PRIMAIRE SLEUTEL: het geeft aan dat de kolomwaarden uniek moeten zijn, die verder kunnen worden gebruikt om een ​​rij in de tabel te identificeren. De PRIMAIRE SLEUTEL impliceert impliciet NIET NULL.
  • UNIEK: het geeft aan dat de kolomwaarden uniek moeten zijn.
  • BUITENLANDSE SLEUTEL: het geeft aan dat naar de kolomwaarden moet worden verwezen als de primaire sleutel.
  • CONTROLE: het specificeert regels voor de kolomwaarden.
2. Beperking op tabelniveau

Beperkingen op tabelniveau dwingen de regel af op een of meer kolommen in de tabel. De beperkingen op tabelniveau zijn hetzelfde als de beperking op kolomniveau, maar het verschil is waar de beperking is opgegeven.

Query voorbeelden

Voorbeeld van primaire sleutelbeperking op kolomniveau met de naam did_pk -

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

Voorbeeld voor beperking van primaire sleutel op tabelniveau met de naam did_pk

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

3. WAAROM Clausule

Dit is een optionele clausule van een Select-instructie of update-instructie of DELETE-instructie. De clausule WHERE geeft aan welke rijen moeten worden geselecteerd op basis van een voorwaarde. Alleen die rijen worden geretourneerd of verwijderd of bijgewerkt wanneer de voorwaarde of expressie WAAR is.

Syntaxis van Where Clause

WHERE Booleanexpression

Voorbeeld

Waar clausule voorbeeld

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

Where-clausule bijvoorbeeld voor deelname aan meerdere tabellen

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

4. BESTELLEN DOOR Clausule

Een ORDER BY-clausule is een optionele clausule van de SELECT-instructie of een CREATE VIEW-instructie of INSERT-instructie of een Scalar-subquery of een tabelsubquery. De clausule geeft de volgorde aan waarin het resultaat de rijen moet weergeven.

Syntaxis van de ORDER BY-clausule

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

De kolomnaam verwijst naar de kolomnamen waarmee het resultaat op volgorde wordt gezet. De kolompositie is een geheel getal dat de kolompositie aangeeft in de items selecteren in de query van de SELECT-instructie. De expressie is numerieke, datetime- en string-expressies. De ASC geeft oplopende volgorde aan. De DES geeft de aflopende volgorde aan.

Bestel bijvoorbeeld met een correlatienaam

In de onderstaande select-opdracht heeft de locatiekolom het land van de correlatienaam die wordt gebruikt in de volgorde van de clausule -

Select name, location as country
From employee
Order by country

Sorteer op voorbeeld met een numerieke uitdrukking

In de onderstaande selectieverklaring gebruikt de bestelling per clausule uitdrukking salaris + stijging -

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

Bestel bijvoorbeeld met een functie

In de onderstaande select-opdracht gebruikt de functie Order by Clause de functie om de positie op te geven -

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

Sorteer bij voorbeeld op met nulbestelling

U kunt de positie van null-waarden specificeren met behulp van de null-bestelspecificatie:

Select * from table1 order by column1 asc nulls last

5. VOOR UPDATE-clausule

De clausule FOR UPDATE dwingt tijdens de compilatie een SELECT-instructie af om te voldoen aan de voorwaarde dat een cursor kan worden bijgewerkt.

Syntaxis van de clausule FOR UPDATE

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

De kolomnaam geeft aan in de clausule FROM van de query.

VOOR UPDATE-voorbeeld

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

6. GROUP BY-clausule

Deze clausule retourneert een subset van groepsresultaten.

Syntaxis van GROUP BY-clausule

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

Voorbeelden

Zoek het gemiddelde salaris van een werknemer gegroepeerd per diept

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

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

7. HEB clausule

De clausule HAVING beperkt de groepsselectie die wordt gedefinieerd door de clausule GROUP BY.

Syntaxis van clausule

HAVING Condition

Voorbeeld van clausule HEBBEN beperkt de groepsselectie voor gem. (Salaris) -

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

De onderstaande vraag is illegaal omdat de dieptekolom geen groepskolom is -

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

Het resultaat verschuift en haalt eerste clausules op

De resultaatcompensatie en eerste clausules worden gebruikt om de eerste N rijen over te slaan en de eerste clausule gebruiken om het aantal rijen te beperken dat in de resultatenset is geselecteerd.

Syntaxis van de resultaatcompensatie en eerste clausules ophalen -

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

Voorbeelden

Haal de eerste rij van T

Select * from employee fetch the first row only

8. Gebruik van clausule

De clausule gebruiken gebruikt om de twee tabellen samen te voegen op basis van de voorwaarde.

Syntaxis van het gebruik van clausule

Using ( columnname (, columnname )* )

Voorbeelden

In het voorbeeld komen de tabel met landen en de tabel met steden samen op voorwaarde dat steden. Land gelijk is aan landen. land -

Select * from employee join department
using (eid)

9. WAAR HUIDIGE Clausule

De clausule WHERE CURRENT OF geeft de locatie aan die wordt verwijderd bij updatable cursors of updates.

De syntaxis van de clausule WHERE CURRENT OF

WHERE CURRENT OF cursorName

Voorbeeld

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");

Aanbevolen artikelen

Dit is een handleiding voor Oracle-clausules. Hier bespreken we de List of Oracles-clausule met de voorbeelden en de syntaxis met de resp (ective-resultaten. Clauses in Oracle zijn trefwoorden die voor het specifieke doel gebruiken of die de speciale betekenis specificeren. U kunt ook door onze andere voorgestelde artikelen gaan voor meer informatie -

  1. Oracle Warehouse Builder
  2. Wat is Oracle-database
  3. Carrière in Oracle
  4. Carrière in Oracle Database Administrator

Categorie: