Wprowadzenie do klauzul Oracle

Klauzule w wyroczni są słowami kluczowymi używanymi do określonego celu lub określającymi specjalne znaczenie. Niektóre klauzule w Oracle są obowiązkowe, a niektóre są opcjonalne.

Lista klauzuli obecnej w wyroczni znajduje się poniżej -

  • Klauzula FROM: Jest to obowiązkowa część klauzuli SelectThe FROM określa nazwę tabeli, z której dane mają być dostępne.
  • Klauzula CONSTRAINT: Jest to opcjonalna klauzula instrukcji CREATE TABLE. Klauzula CONSTRAINT definiuje regułę, którą należy spełnić podczas wstawiania danych.
  • GDZIE Klauzula: Jest to opcjonalna klauzula instrukcji Select lub instrukcji aktualizacji lub instrukcji DELETE. Klauzula WHERE określa, które wiersze należy wybrać na podstawie warunku.
  • Klauzula ORDER BY: Jest to opcjonalna klauzula instrukcji select, instrukcji CREATE VIEW lub instrukcji INSERT. Klauzula ORDER BY określa, w jakiej kolejności mają pojawiać się wiersze zestawu wyników.
  • Klauzula FOR UPDATE: Jest to opcjonalna klauzula instrukcji SELECT. Kursory są domyślnie tylko do odczytu. Kursor powinien być aktualizowalny, określa klauzula FOR UPDATE, klauzula FOR UPDATE wymusza sprawdzenie instrukcji SELECT podczas kompilacji, aby spełnić warunek aktualizacji kursora.
  • Klauzula GROUP BY: Jest to opcjonalna klauzula instrukcji Select, klauzula GROUP BY dzieli wynik na grupy.
  • MAJĄC klauzulę: Jest to opcjonalna klauzula instrukcji select. Klauzula HAVING ogranicza wybór grupy, który jest wynikiem klauzuli GROUP BY.
  • Przesunięcie wyniku i pobranie pierwszych klauzul: klauzula przesunięcia wyniku służy do pominięcia N pierwszych wierszy i wybrania pozostałych wierszy jako zestawu wyników. Użyj pierwszej klauzuli pobierania wraz z klauzulą ​​przesunięcia wyniku, aby ograniczyć liczbę wierszy wybranych w zestawie wyników.
  • UŻYWANIE Klauzula: Jest to klauzula obowiązkowa w operacji łączenia . Klauzula USING pokazuje, które kolumny należy sprawdzić, aby połączyć dwie tabele.
  • GDZIE OBECNA Klauzula: Jest to klauzula opcjonalna w instrukcji delete lub UPDATE. Klauzula WHERE CURRENT OF określa lokalizację, która jest usuwana przy aktualizowanych kursorach lub aktualizacjach.

Lista klauzul Oracle

Następnie przyjrzyjmy się szczegółowo każdej klauzuli -

1. Z klauzuli

Klauzula FROM jest obowiązkową częścią instrukcji Select. Klauzula FROM określa nazwy tabel, z których dane lub kolumny mają być dostępne do użycia w wybranych wyrażeniach.

Składnia klauzuli FROM

FROM Table1 (, Table2 ) *

Przykłady zapytań

Select * from employee ;

Przykład zapytania z warunkiem klauzuli where

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

Przykład zapytania z zamówieniem według klauzuli

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

Przykład zapytania z warunkiem łączenia

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. Klauzula OGRANICZENIA

Klauzula CONSTRAINT jest opcjonalną klauzulą ​​instrukcji CREATE TABLE. Klauzula CONSTRAINT definiuje regułę, którą należy spełnić podczas wstawiania danych.

OGRANICZENIA są różne na innym poziomie, jak podano poniżej -

1. Ograniczenie na poziomie kolumny

Ograniczenia na poziomie kolumny wymuszają regułę do pojedynczej kolumny w tabeli. Ograniczenia na poziomie kolumny podano poniżej -

  • NOT NULL: określa, że ​​kolumna nie może przechowywać wartości NULL.
  • KLUCZ PODSTAWOWY: Określa, że ​​wartości kolumn powinny być unikalne, które można wykorzystać do identyfikacji wiersza w tabeli. KLUCZ PODSTAWOWY domyślnie określa NIE NULL.
  • UNIKALNY: określa, że ​​wartości kolumn muszą być unikalne.
  • KLUCZ ZAGRANICZNY: Określa, że ​​wartości kolumn muszą być przywoływane jako klucz podstawowy.
  • SPRAWDŹ: Określa reguły dla wartości kolumn.
2. Ograniczenie na poziomie tabeli

Ograniczenia na poziomie tabeli wymuszają regułę dla jednej lub więcej kolumn w tabeli. Ograniczenia na poziomie tabeli są takie same jak ograniczenie na poziomie kolumny, ale różnica polega na tym, że ograniczenie jest określone.

Przykłady zapytań

Przykład ograniczenia klucza podstawowego na poziomie kolumny o nazwie did_pk -

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

Przykład ograniczenia klucza podstawowego na poziomie tabeli o nazwie did_pk

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

3. GDZIE Klauzula

Jest to opcjonalna klauzula instrukcji Select lub update lub DELETE. Klauzula WHERE określa, które wiersze należy wybrać na podstawie warunku. Tylko te wiersze zwracają, usuwają lub aktualizują, gdy warunek lub wyrażenie ma wartość PRAWDA.

Składnia klauzuli Where

WHERE Booleanexpression

Przykład

Przykład klauzuli gdzie

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

Przykład klauzuli Where dla łączenia wielu tabel

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

4. Klauzula ORDER BY

Klauzula ORDER BY jest opcjonalną klauzulą ​​instrukcji SELECT lub instrukcji CREATE VIEW, instrukcji INSERT lub podzapytania skalarnego lub podzapytania tabelowego. Klauzula określa kolejność wyświetlania wierszy zestawu wyników.

Składnia klauzuli ORDER BY

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

Nazwa kolumny Odnosi się do nazw kolumn, według których zestaw wyników jest uporządkowany. ColumnPosition jest liczbą całkowitą, która określa pozycję kolumny w elemencie Select Items w zapytaniu instrukcji SELECT. Wyrażenie jest wyrażeniem numerycznym, datetime i ciągiem. ASC Określa kolejność rosnącą. DES określa kolejność malejącą.

Sortuj według przykładu z nazwą korelacji

W poniższej instrukcji select kolumna lokalizacji ma nazwę korelacji kraj, która jest używana w kolejności według klauzuli -

Select name, location as country
From employee
Order by country

Sortuj według przykładu z wyrażeniem liczbowym

W poniższej instrukcji wybierz kolejność według klauzuli użyj wyrażenia pensja + podwyżka -

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

Sortuj według przykładu z funkcją

W poniższej instrukcji select funkcja sortowania według klauzuli służy do określania pozycji -

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

Sortuj według przykładu z pustym zamówieniem

Możesz określić pozycję wartości null, używając specyfikacji porządkowania null:

Select * from table1 order by column1 asc nulls last

5. Klauzula dotycząca aktualizacji

Klauzula FOR UPDATE wymusza sprawdzanie instrukcji SELECT podczas kompilacji, aby spełnić warunek aktualizacji kursora.

Składnia klauzuli FOR UPDATE

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

Nazwa kolumny określa w klauzuli FROM zapytania.

Przykład klauzuli FOR UPDATE

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

6. Klauzula GROUP BY

Ta klauzula zwraca wynik podzbioru grup.

Składnia klauzula GROUP BY

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

Przykłady

Znajdź średnie wynagrodzenie pracownika pogrupowane według deptid

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

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

7. Mając klauzulę

Klauzula HAVING ogranicza wybór grupy zdefiniowany przez klauzulę GROUP BY.

Składnia klauzuli HAVING

HAVING Condition

Przykład klauzuli HAVING ogranicza wybór grupy dla średniego (wynagrodzenia) -

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

Podane poniżej zapytanie jest nielegalne, ponieważ kolumna deptid nie jest kolumną grupującą -

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

Przesunięcie wyniku i pobranie pierwszych klauzul

Przesunięcie wyniku i użycie pierwszych klauzul do pominięcia N pierwszych wierszy i użycie pierwszych klauzul w celu ograniczenia liczby wierszy wybranych w zestawie wyników.

Składnia Przesunięcie wyniku i pobranie pierwszych klauzul -

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

Przykłady

Pobierz pierwszy rząd T

Select * from employee fetch the first row only

8. Korzystanie z klauzuli

Klauzula using służy do łączenia dwóch tabel na podstawie warunku.

Składnia przy użyciu klauzuli

Using ( columnname (, columnname )* )

Przykłady

W tym przykładzie tabela krajów i tabela miast łączą się pod warunkiem, że miasta. Kraj jest równy krajom. kraj -

Select * from employee join department
using (eid)

9. GDZIE BIEŻĄC Klauzula

Klauzula WHERE CURRENT OF określa lokalizację, która jest usuwana przy aktualizowanych kursorach lub aktualizacjach.

Składnia klauzuli WHERE CURRENT OF

WHERE CURRENT OF cursorName

Przykład

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

Polecane artykuły

Jest to przewodnik po klauzulach Oracle. Omawiamy tutaj Klauzulę Wyroczni z przykładami i składnię z odpowiednimi (skuteczne wyniki. Klauzule w wyroczni są słowami kluczowymi, które służą do określonego celu lub określają specjalne znaczenie. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Oracle Warehouse Builder
  2. Co to jest baza danych Oracle
  3. Kariera w Oracle
  4. Kariera w Oracle Database Administrator

Kategoria: