Úvod do klauzúl Oracle

Klauzuly v Oracle sú ako kľúčové slová, ktoré sa používajú na konkrétny účel alebo ktoré špecifikujú špeciálny význam. Niektoré klauzule sú povinné a niektoré sú voliteľné.

Zoznam klauzuly, ktorá je uvedená v Oracle, je uvedený nižšie -

  • Klauzula FROM: Je to povinná súčasť v klauzuli SelectThe FROM určuje názov tabuľky, z ktorej majú byť údaje prístupné.
  • Doložka o obmedzení: Ide o voliteľnú klauzulu príkazu CREATE TABLE. Klauzula CONSTRAINT definuje pravidlo, ktoré musí byť splnené pri vkladaní údajov.
  • Klauzula WHERE: Ide o voliteľnú klauzulu príkazu Select alebo update alebo Statement DELETE. Klauzula WHERE určuje, ktoré riadky sa majú vybrať na základe podmienky.
  • Klauzula OBJEDNÁVKA: Ide o voliteľnú klauzulu príkazu select alebo príkazu CREATE VIEW alebo INSERT. Klauzula ORDER BY špecifikuje, v akom poradí sa majú zobrazovať riadky množiny výsledkov.
  • Doložka FOR UPDATE: Ide o voliteľnú klauzulu príkazu SELECT. Kurzory sú predvolene iba na čítanie. Kurzor by mal byť aktualizovateľný, špecifikuje sa v klauzule FOR UPDATE, klauzula FOR UPDATE vynúti príkaz SELECT check počas kompilácie, aby splnil podmienky pre aktualizáciu kurzora.
  • Klauzula GROUP BY: Ide o voliteľnú klauzulu príkazu Select, klauzula GROUP BY zaznamená výsledok do skupín.
  • Klauzula HAVING: Ide o voliteľnú klauzulu príkazu select. Klauzula HAVING obmedzuje výber skupiny, ktorý je výsledkom klauzuly GROUP BY.
  • Posun výsledku a načítanie prvých klauzúl: Klauzula výsledku sa používa na preskočenie prvých N riadkov a na výber zostávajúcich riadkov ako sady výsledkov. Prvá klauzula načítania sa používa spolu s klauzulou offset offsetu na obmedzenie počtu riadkov vybratých v množine výsledkov.
  • USING Klauzule: Je to povinná klauzula v operácii join . Klauzula USING ukazuje, ktoré stĺpce sa majú skontrolovať, aby sa spojili tieto dve tabuľky.
  • KDE SÚČASŤ DODATKU: Ide o voliteľnú klauzulu v príkaze delete alebo UPDATE. Klauzula WHERE CURRENT OF špecifikuje umiestnenie, ktoré vymaže aktualizovateľné kurzory alebo aktualizácie.

Zoznam klauzuly Oracle

Ďalej podrobne popíšeme každú doložku -

1. Z doložky

Klauzula FROM je povinnou súčasťou príkazu Select. Klauzula FROM špecifikuje názov tabuliek, z ktorých majú byť údaje alebo stĺpce prístupné pre použitie vo vybraných výrazoch.

Syntax klauzuly FROM

FROM Table1 (, Table2 ) *

Príklady dopytov

Select * from employee ;

Príklad dopytu s podmienkou klauzuly

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

Príklad dopytu s poradím podľa klauzuly

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

Príklad dopytu s podmienkou pripojenia

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. Doložka o obmedzení

Klauzula CONSTRAINT je voliteľná klauzula príkazu CREATE TABLE. Klauzula CONSTRAINT definuje pravidlo, ktoré musí byť splnené pri vkladaní údajov.

OBMEDZENIA sa líšia na inej úrovni, ako je uvedené nižšie -

1. Obmedzenie na úrovni stĺpca

Obmedzenia na úrovni stĺpcov vynútia pravidlo do jedného stĺpca v tabuľke. Nižšie sú uvedené obmedzenia na úrovni stĺpcov -

  • NOT NULL: Určuje, že stĺpec nemôže ukladať hodnoty NULL.
  • PRIMÁRNY KĽÚČ: Špecifikuje, že hodnoty stĺpcov by mali byť jedinečné, ktoré môžu byť ďalej použité na identifikáciu riadku v tabuľke. PRIMÁRNY KĽÚČ implicitne určuje NIE JE NULL.
  • UNIQUE: Určuje, že hodnoty stĺpcov musia byť jedinečné.
  • ZAHRANIČNÝ KĽÚČ: Určuje, že na hodnoty stĺpcov sa musí odkazovať ako na primárny kľúč.
  • KONTROLA: Určuje pravidlá pre hodnoty stĺpcov.
2. Obmedzenie na úrovni tabuľky

Obmedzenia na úrovni tabuľky vynútia pravidlo do jedného alebo viacerých stĺpcov v tabuľke. Obmedzenia na úrovni tabuľky sú rovnaké ako obmedzenia na úrovni stĺpcov, ale rozdiel je tam, kde je špecifikované obmedzenie.

Príklady dopytov

Príklad obmedzenia primárneho kľúča na úrovni stĺpca s názvom did_pk -

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

Príklad obmedzenia primárneho kľúča na úrovni tabuľky s názvom did_pk

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

3. KDE Doložka

Toto je voliteľná klauzula príkazu Select alebo update alebo Statement DELETE. Klauzula WHERE určuje, ktoré riadky sa majú vybrať na základe podmienky. Iba tie riadky sa vracajú alebo odstraňujú alebo aktualizujú, ak sa stav alebo výraz vyhodnotí ako PRAVDA.

Syntax klauzuly Where

WHERE Booleanexpression

príklad

Príklad klauzuly

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

Príklad klauzuly pre spojenie viacerých tabuliek

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

4. OBJEDNÁVKA PODĽA doložky

Klauzula ORDER BY je voliteľná klauzula príkazu SELECT alebo príkaz CREATE VIEW alebo INSERT alebo skalárny poddotaz alebo tabuľkový poddotaz. Klauzula určuje poradie, v ktorom sa majú riadky množiny výsledkov zobraziť.

Syntax doložky ORDER BY

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

StĺpecName Odkazuje na názvy stĺpcov, podľa ktorých sa výsledok nastaví na objednávku. ColumnPosition je celé číslo, ktoré určuje pozíciu stĺpca v položkách Select items v dotaze príkazu SELECT. Výraz je číselný, datetime a reťazcový výraz. ASC Určuje vzostupné poradie. DES určuje zostupné poradie.

Usporiadajte podľa príkladu s názvom korelácie

V nižšie uvedenom výkaze príkazu má stĺpec umiestnenie názov krajiny korelácie, ktorá sa používa v doložke podľa poradia -

Select name, location as country
From employee
Order by country

Usporiadajte podľa príkladu s číselným výrazom

V nasledujúcom výkaze vyberte príkaz podľa vety použitie výrazu plat + túra -

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

Usporiadajte podľa príkladu s funkciou

V nižšie uvedenom výkaze použite príkaz na poradie podľa klauzuly na určenie pozície -

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

Usporiadanie podľa príkladu s nulovým usporiadaním

Polohu nulových hodnôt môžete zadať pomocou špecifikácie nulového usporiadania:

Select * from table1 order by column1 asc nulls last

5. Doložka o aktualizácii

Klauzula FOR UPDATE vynúti kontrolu príkazu SELECT počas kompilácie, aby splnila podmienky pre aktualizáciu kurzora.

Syntax klauzuly FOR UPDATE

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

Názov stĺpca určuje v klauzuli FROM dotazu.

Príklad klauzuly UPDATE

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

6. Doložka o GROUP GROUP

Táto klauzula vráti výsledok podmnožiny skupín.

Syntax klauzuly GROUP BY

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

Príklady

Nájdite priemernú mzdu zamestnanca zoskupenú podľa deptid

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

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

7. Majú klauzulu

Klauzula HAVING obmedzuje výber skupiny podľa klauzuly GROUP BY.

Syntax klauzuly HAVING

HAVING Condition

Príklad klauzuly HAVING obmedzuje výber skupín pre priem. (Plat) -

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

Dotaz uvedený nižšie je nezákonný, pretože stĺpec deptid nie je stĺpcom zoskupenia -

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

Výsledok odsadil a načíta prvé vety

Prvky s odsadením výsledkov a prvými prvkami načítania sa používajú na preskočenie prvých N riadkov a prvá klauzula načítania sa použije na obmedzenie počtu riadkov vybratých v sade výsledkov.

Syntax posunu výsledku a načítania prvých doložiek -

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

Príklady

Načítajte prvý riadok T

Select * from employee fetch the first row only

8. Použitie doložky

Klauzula o použití sa používa na spojenie dvoch tabuliek na základe podmienky.

Syntax použitia klauzuly

Using ( columnname (, columnname )* )

Príklady

V príklade sa tabuľka krajín a tabuľka miest spoja pod podmienkou, že sú mestá. Krajina sa rovná krajinám. krajina -

Select * from employee join department
using (eid)

9. KDE SÚČASŤ Doložky

Klauzula WHERE CURRENT OF špecifikuje umiestnenie, ktoré vymaže aktualizovateľné kurzory alebo aktualizácie.

Syntax klauzuly WHERE CURRENT OF

WHERE CURRENT OF cursorName

príklad

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

Odporúčané články

Toto je sprievodca klauzulami Oracle. Tu uvádzame príklady klauzuly Oracles s príkladmi a syntaxou s príslušnými výsledkami (účinné výsledky. Klauzy v Oracle) sú kľúčové slová, ktoré sa používajú na konkrétny účel alebo ktoré určujú zvláštny význam. Ak sa chcete dozvedieť viac, môžete si tiež prečítať naše ďalšie navrhované články. -

  1. Oracle Warehouse Builder
  2. Čo je Oracle Database
  3. Kariéra v spoločnosti Oracle
  4. Kariéra v administrátorovi databázy Oracle

Kategórie: