Úvod do klauzulí Oracle

Klauzule v Oracle jsou jako klíčová slova, která používají pro konkrétní účel nebo která specifikují zvláštní význam. Některá ustanovení ve vězení jsou povinná a některá ustanovení jsou volitelná.

Seznam klauzule, která je přítomna v Oracle, je uveden níže -

  • Klauzule FROM: Jedná se o povinnou součást v klauzuli SelectThe FROM určuje název tabulky, ze které mají být data přístupná.
  • Klauzula CONSTRAINT: Jedná se o volitelnou klauzuli příkazu CREATE TABLE. Klauzule CONSTRAINT definuje pravidlo, které musí být při vkládání dat splněno.
  • Klauzule WHERE: Jedná se o volitelnou klauzuli příkazu Select nebo update, nebo DELETE. Klauzule WHERE určuje, které řádky mají být vybrány na základě podmínky.
  • Klauzula OBJEDNÁVKA: Jedná se o volitelnou klauzuli příkazu select nebo příkazu CREATE VIEW nebo INSERT. Klauzule ORDER BY určuje, v jakém pořadí se zobrazí řádky sady výsledků.
  • Doložka FOR UPDATE: Jedná se o volitelnou klauzuli příkazu SELECT. Kurzory jsou ve výchozím nastavení pouze pro čtení. Kurzor by měl být aktualizovatelný, určuje se v klauzuli FOR UPDATE, klauzule FOR UPDATE vynucuje během kompilace příkaz SELECT check, aby splňoval podmínku, že má být aktualizovatelný.
  • Klauzule GROUP BY: Jedná se o volitelnou klauzuli příkazu Select, klauzule GROUP BY zapíše výsledek do skupin.
  • HAVING Klauzule: Jedná se o volitelnou klauzuli příkazu select. Klauzule HAVING omezuje výběr skupiny, který je výsledkem klauzule GROUP BY.
  • Posunutí výsledku a načtení prvních klauzulí: Klauzule Posunutí výsledku slouží k přeskočení prvních N řádků a výběru zbývajících řádků jako sady výsledků. První klauzule načtení společně s klauzulí offsetu výsledku omezuje počet řádků vybraných v sadě výsledků.
  • USING Klauzule: Jedná se o povinnou klauzuli v operaci spojení . Klauzule USING ukazuje, které sloupce mají být zkontrolovány, aby se spojily dvě tabulky.
  • KDE KURZ PODLE: Jedná se o volitelnou klauzuli v příkazu delete nebo UPDATE. Klauzule WHERE CURRENT OF určuje umístění, které odstraní aktualizovatelné kurzory nebo aktualizace.

Seznam klauzule Oracle

Dále si podrobně vysvětlíme každou doložku -

1. Z doložky

Klauzula FROM je povinnou součástí příkazu Select. Klauzule FROM určuje název tabulek, ze kterých mají být data nebo sloupce přístupná pro použití ve vybraných výrazech.

Syntaxe klauzule FROM

FROM Table1 (, Table2 ) *

Příklady dotazů

Select * from employee ;

Příklad dotazu s podmínkou klauzule

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

Příklad dotazu s objednávkou podle klauzule

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

Příklad dotazu s podmínkou spojení

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 omezení

Klauzule CONSTRAINT je volitelná klauzule příkazu CREATE TABLE. Klauzule CONSTRAINT definuje pravidlo, které musí být při vkládání dat splněno.

KONTRAINTY se liší na jiné úrovni, jak je uvedeno níže -

1. Omezení úrovně sloupce

Omezení na úrovni sloupců vynucuje pravidlo do jednoho sloupce v tabulce. Omezení úrovně sloupců jsou uvedena níže -

  • NOT NULL: Určuje, že ve sloupci nelze uložit hodnoty NULL.
  • PRIMÁRNÍ KLÁVES: Určuje, že hodnoty sloupců by měly být jedinečné, které lze dále použít k identifikaci řádku v tabulce. PRIMÁRNÍ KLÁVES implicitně určuje NE NULL.
  • UNIQUE: Určuje, že hodnoty sloupců musí být jedinečné.
  • FOREIGN KEY: Určuje, že hodnoty sloupců musí být odkazovány jako primární klíč.
  • KONTROLA: Určuje pravidla pro hodnoty sloupců.
2. Omezení na úrovni tabulky

Omezení na úrovni tabulky vynucují pravidlo na jeden nebo více sloupců v tabulce. Omezení na úrovni tabulky jsou stejné jako omezení na úrovni sloupce, ale rozdíl je tam, kde je omezení specifikováno.

Příklady dotazů

Příklad omezení primárního klíče na úrovni sloupce s názvem did_pk -

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

Příklad omezení primárního klíče na úrovni tabulky s názvem 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 volitelná klauzule příkazu Select nebo update, nebo DELETE. Klauzule WHERE určuje, které řádky mají být vybrány na základě podmínky. Pouze ty řádky se vracejí, mazají nebo aktualizují, pokud se podmínka nebo výraz vyhodnotí na PRAVDA.

Syntaxe klauzule Where

WHERE Booleanexpression

Příklad

Příklad klauzule

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

Příklad klauzule pro spojení více tabulek

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

4. OBJEDNÁVKA PODLE klauzule

Klauzule ORDER BY je volitelná klauzule příkazu SELECT nebo příkazu CREATE VIEW nebo INSERT nebo Scalar Subquery nebo Table Subquery. Klauzule určuje pořadí, ve kterém se zobrazí řádky sady výsledků.

Syntaxe klauzule ORDER BY

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

Název sloupce Odkazuje na názvy sloupců, podle kterých se výsledek nastaví na objednávku. ColumnPosition je celé číslo, které určuje pozici sloupce v položkách Select v dotazu příkazu SELECT. Výraz je číselný, datetime a řetězcové výrazy. ASC Určuje vzestupné pořadí. DES určuje sestupné pořadí.

Seřadit podle příkladu s názvem korelace

Ve výpisu níže vyberte sloupec umístění s názvem země korelace, která se používá v klauzuli pořadí podle -

Select name, location as country
From employee
Order by country

Seřadit podle příkladu s číselným výrazem

V níže uvedeném výpisu použijte řádek podle klauzule výraz plat + výlet -

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

Pořadí podle příkladu s funkcí

V níže uvedeném příkazu pro výběr použijte funkci Order by Klaus k určení pozice -

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

Řazení podle příkladu s nulovým uspořádáním

Polohu hodnot null můžete zadat pomocí specifikace null ordering:

Select * from table1 order by column1 asc nulls last

5. Doložka o aktualizaci

Klauzule FOR UPDATE vynucuje příkaz check SELECT během kompilace, aby splňoval podmínku, že má být aktualizovatelný kurzor.

Syntaxe klauzule FOR UPDATE

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

Název sloupce určuje v klauzuli FROM dotazu.

Příklad klauzule UPDATE

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

6. GROUP GROUP Klauzule

Tato klauze vrátí výsledek podmnožiny skupin.

Syntaxe klauzule GROUP BY

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

Příklady

Najděte průměrný plat zaměstnance seskupený podle deptid

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

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

7. Mají klauzuli

Klauzule HAVING omezuje výběr skupiny definovaný klauzulí GROUP BY.

Syntaxe klauzule HAVING

HAVING Condition

Příklad klauzule HAVING omezuje výběr skupiny pro průměr (plat) -

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

Níže uvedený dotaz je nezákonný, protože sloupec deptid není sloupec seskupení -

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

Výsledek offset a načíst první klauzule

Prvky s odsazením a načtením první klauzule slouží k přeskočení prvních N řádků a načtení první klauzule k omezení počtu řádků vybraných v sadě výsledků.

Syntaxe offsetu výsledku a načtení prvních vět -

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

Příklady

Načíst první řádek T

Select * from employee fetch the first row only

8. Použití klauzule

Klauzule using se používá ke spojení dvou tabulek na základě podmínky.

Syntaxe použití klauzule

Using ( columnname (, columnname )* )

Příklady

V tomto příkladu se tabulka zemí a tabulka měst spojí za podmínky, že jsou města. země -

Select * from employee join department
using (eid)

9. KDYŽ JE AKTUÁLNÍ Doložka

Klauzule WHERE CURRENT OF určuje umístění, které se vymaže na aktualizovatelných kurzorech nebo aktualizacích.

Syntaxe klauzule WHERE CURRENT OF

WHERE CURRENT OF cursorName

Pří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");

Doporučené články

Toto je průvodce klauzuly Oracle. Zde diskutujeme příklad klauzule Oracles s příklady a syntaxí s příslušnými výsledky (efektivní výsledky. Klauzy v Oracle) jsou klíčová slova, která se používají ke konkrétnímu účelu nebo která specifikují zvláštní význam. Další informace naleznete v našich dalších doporučených článcích. -

  1. Oracle Warehouse Builder
  2. Co je to databáze Oracle
  3. Kariéra v Oracle
  4. Kariéra ve správci databáze Oracle

Kategorie: