Introducere în clauze Oracle

Clauzele din oracle sunt ca niște cuvinte cheie care se folosesc în scopul specific sau care specifică sensul special. Unele dintre clauzele din oracol sunt obligatorii, iar unele dintre clauze sunt opționale.

Lista clauzei care este prezentă în oracol este prezentată mai jos -

  • Clauza FROM: Este o parte obligatorie dintr-o clauză SelectThe FROM specifică numele unei tabele de unde trebuie accesate datele.
  • Clauza CONSTRAINT: este o clauză opțională a unei instrucțiuni CREATE TABLE. O clauză CONSTRAINT definește o regulă care trebuie respectată în timpul introducerii datelor.
  • WHERE Clause: Este o clauză opțională a unei instrucțiuni Select sau a unei actualizări sau a unei instrucțiuni DELETE. Clauza WHERE specifică ce rânduri trebuie selectate pe baza unei condiții.
  • ORDER BY Clause: Este o clauză opțională a instrucțiunii select sau a unei instrucțiuni CREATE VIEW sau a unei instrucțiuni INSERT. O clauză ORDER BY specifică în ce ordine să apară rândurile setului de rezultate.
  • Clauza de actualizare: este o clauză opțională a unei instrucțiuni SELECT. În mod implicit, cursoarele sunt numai în citire. Cursorul ar trebui să fie actualizabil, specifică în clauza FOR UPDATE, clauza FOR UPDATE impune o instrucțiune de selectare SELECT în timpul compilării pentru a îndeplini condiția ca un cursor să fie actualizabil.
  • Clauza GROUP BY: este o clauză opțională a unei instrucțiuni Select, clauza GROUP BY subsecționează un rezultat în grupuri.
  • Clauza HAVING: este o clauză opțională a unei instrucțiuni selectate. Clauza HAVING restricționează selectarea grupului care sunt rezultatele unei clauze GROUP BY.
  • Decalarea rezultatelor și preluarea primelor clauze: clauza de compensare a rezultatelor folosește pentru a omite primele N rânduri și a selecta rândurile rămase ca set de rezultate. Utilizarea primei clauze de preluare împreună cu clauza de compensare a rezultatelor pentru a limita numărul de rânduri selectate în setul de rezultate.
  • UTILIZARE Clauză: Este o clauză obligatorie în operația de alăturare . Clauza USING arată ce egalitate a coloanelor trebuie verificată pentru a se alătura celor două tabele.
  • UNDE CURENTUL Clauzei: este o clauză opțională dintr-o instrucțiune de ștergere sau ACTUALIZARE. Clauza WHERE CURRENT specifică locația care se șterge pe cursoarele actualizabile sau la actualizări.

Lista clauzei Oracle

În continuare, să înțelegem fiecare clauză în detalii -

1. DIN Clauza

Clauza FROM este o parte obligatorie într-o instrucțiune Select. Clauza FROM specifică numele tabelelor de unde datele sau coloanele trebuie să fie accesibile pentru a fi utilizate în anumite expresii.

Sintaxa clauzei FROM

FROM Table1 (, Table2 ) *

Exemple de interogare

Select * from employee ;

Exemplu de interogare cu condiția clauzei

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

Exemplu de interogare cu o comandă după clauză

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

Exemplu de interogare cu o condiție de unire

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

Clauza CONSTRAINT este o clauză opțională a unei instrucțiuni CREATE TABLE. O clauză CONSTRAINT definește o regulă care trebuie respectată în timpul introducerii datelor.

CONSTRAINT-urile sunt diferite la un nivel diferit, așa cum este prezentat mai jos -

1. Coloana - constrângerea nivelului

Restricțiile la nivel de coloană aplică regula unei singure coloane din tabel. Coloana - restricțiile de nivel sunt prezentate mai jos -

  • NOT NULL: specifică faptul că coloana nu poate stoca valori NULL.
  • Tastă PRIMARĂ: Specifică faptul că valorile coloanei ar trebui să fie unice, care mai departe pot fi utilizate pentru a identifica un rând din tabel. Tasta PRIMARĂ specifică implicit NU NUL.
  • UNIC: specifică faptul că valorile coloanei trebuie să fie unice.
  • CHEIE STRĂINĂ: specifică faptul că valorile coloanei trebuie făcute referință ca cheie primară.
  • VERIFICARE: specifică regulile pentru valorile coloanei.
2. constrângere la nivel de tabel

Restricțiile la nivel de tabel aplică regula la una sau mai multe coloane din tabel. Restricțiile la nivel de tabelă sunt aceleași cu constrângerea la nivel de coloană, dar diferența este aceea în care este specificată constrângerea.

Exemple de interogare

Exemplu de constrângere de cheie primară la nivel de coloană numit did_pk -

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

Exemplu pentru constrângerea cheii primare la nivel de tabel numită did_pk

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

3. UNDE Clauza

Aceasta este o clauză opțională a unei instrucțiuni Selectare sau actualizare sau instrucțiune DELETE. Clauza WHERE specifică ce rânduri trebuie selectate pe baza unei condiții. Doar acele rânduri returnează sau șterg sau actualizează acolo unde condiția sau expresia evaluează TRUE.

Sintaxa clauzei unde

WHERE Booleanexpression

Exemplu

Exemplu de clauză

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

Unde exemplu de clauză pentru unirea mai multor tabele

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

4. COMANDĂ PRIVIND Clauza

O clauză ORDER BY este o clauză opțională a instrucțiunii SELECT sau a unei instrucțiuni CREATE VIEW sau a instrucțiunii INSERT sau a unei subcheteri scalare sau a unei subcaterii de tabel. Clauza specifică ordinea în care vor apărea rândurile setului de rezultate.

Sintaxa clauzei ORDER BY

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

ColumName Se referă la numele coloanelor după care rezultatul setat la comandă. ColumnPosition este un număr întreg care specifică poziția coloanei din Elementele Select din interogarea instrucțiunii SELECT. Expresia este expresie numerică, datetime și string. ASC Specifică ordinea crescătoare. DES specifică ordinea descendentă.

Ordonați de exemplu cu un nume de corelație

În instrucțiunea de selectare de mai jos, coloana de locație are țara de nume de corelație care este utilizată în ordine după clauza -

Select name, location as country
From employee
Order by country

Ordonați de exemplu cu o expresie numerică

În declarația de mai jos selectați comanda după clauză folosiți expresia salariu + mers -

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

Comandați de exemplu cu o funcție

În instrucțiunea de mai jos selectați funcția de comandă după clauză pentru a specifica poziția -

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

Comandați prin exemplu specificând cu comandă nulă

Puteți specifica poziția valorilor nule folosind specificația de comandă nulă:

Select * from table1 order by column1 asc nulls last

5. PENTRU ACTUALIZARE Clauză

Clauza FOR UPDATE aplică o instrucțiune de verificare SELECT în timpul compilării pentru a îndeplini condiția ca un cursor să poată fi actualizat.

Sintaxa clauzei FOR UPDATE

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

ColumName specifică în clauza FROM a interogării.

Exemplu de clauză ACTUALIZARE

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

6. GRUPA CU Clauza

Această clauză returnează un subset de rezultate de grupuri.

Sintaxa grupului BY BY

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

Exemple

Găsiți salariul mediu al unui angajat grupat pe deptid

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

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

7. HAVING Clauza

Clauza HAVING restricționează selectarea grupului definită de clauza GROUP BY.

Sintaxa clauzei HAVING

HAVING Condition

Exemplul clauzei HAVING restricționează selecția grupului pentru avg (salariu) -

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

Interogarea de mai jos este ilegală, deoarece coloana de deptid nu este o coloană de grupare -

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

Rezultatul compensează și preia primele clauze

Clauzele de compensare a rezultatelor și de primire folosesc pentru a omite primele rânduri N și a utiliza prima clauză pentru a limita numărul de rânduri selectate în setul de rezultate.

Sintaxa din Rezultatul compensării și preluarea primelor clauze -

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

Exemple

Căutați primul rând de T

Select * from employee fetch the first row only

8. Utilizarea clauzei

Clauza de utilizare folosește unirea celor două tabele în funcție de condiție.

Sintaxa de utilizare a clauzei

Using ( columnname (, columnname )* )

Exemple

În exemplu, tabelul de țări și tabelul de orașe se alătură cu condiția ca orașele. țară -

Select * from employee join department
using (eid)

9. UNDE ACTUALIZĂ Clauza

Clauza WHERE CURRENT specifică locația care se șterge pe cursoarele actualizabile sau la actualizări.

Sintaxa din WHERE CURENTUL clauzei

WHERE CURRENT OF cursorName

Exemplu

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

Articole recomandate

Acesta este un ghid pentru Clauzele Oracle. Aici discutăm Clauza de Oracole cu exemplele și sintaxa cu rezultatele resp. (Rezultatele efective. Clauzele din oracol sunt cuvinte cheie care folosesc scopul specific sau care specifică sensul special. Puteți parcurge și alte articole propuse pentru a afla mai multe -

  1. Oracle Warehouse Builder
  2. Ce este baza de date Oracle
  3. Cariera în Oracle
  4. Cariera în administratorul bazelor de date Oracle

Categorie: