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 -
- Oracle Warehouse Builder
- Wat is Oracle-database
- Carrière in Oracle
- Carrière in Oracle Database Administrator