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 -
- Oracle Warehouse Builder
- Ce este baza de date Oracle
- Cariera în Oracle
- Cariera în administratorul bazelor de date Oracle