Einführung in Oracle-Klauseln
Klauseln in oracle ähneln Schlüsselwörtern, die für den jeweiligen Zweck verwendet werden oder die besondere Bedeutung angeben. Einige der Klauseln in oracle sind obligatorisch und einige der Klauseln sind optional.
Die Liste der Klausel, die in Orakel vorhanden ist, ist unten angegeben -
- FROM-Klausel: Dies ist ein obligatorischer Bestandteil einer SelectThe FROM-Klausel, die den Namen einer Tabelle angibt, von der aus auf die Daten zugegriffen werden soll.
- CONSTRAINT-Klausel: Dies ist eine optionale Klausel einer CREATE TABLE-Anweisung. Eine CONSTRAINT-Klausel definiert eine Regel, die beim Einfügen der Daten zu erfüllen ist.
- WHERE-Klausel: Dies ist eine optionale Klausel einer Select-Anweisung, einer Update-Anweisung oder einer DELETE-Anweisung. Die WHERE-Klausel gibt an, welche Zeilen basierend auf einer Bedingung ausgewählt werden sollen.
- ORDER BY-Klausel: Dies ist eine optionale Klausel der select-Anweisung oder einer CREATE VIEW-Anweisung oder einer INSERT-Anweisung. Eine ORDER BY-Klausel gibt an, in welcher Reihenfolge die Ergebnismengenzeilen angezeigt werden sollen.
- FOR UPDATE-Klausel: Dies ist eine optionale Klausel einer SELECT-Anweisung. Die Cursor sind standardmäßig schreibgeschützt. Der Cursor sollte aktualisierbar sein. Dies ist in der FOR UPDATE-Klausel angegeben. Die FOR UPDATE-Klausel erzwingt eine check SELECT-Anweisung während der Kompilierung, um die Bedingung für die Aktualisierbarkeit eines Cursors zu erfüllen.
- GROUP BY-Klausel: Dies ist eine optionale Klausel einer Select-Anweisung. Die GROUP BY-Klausel fasst ein Ergebnis in Gruppen zusammen.
- HAVING-Klausel: Dies ist eine optionale Klausel einer select-Anweisung. Die HAVING-Klausel schränkt die Gruppenauswahl ein, die das Ergebnis einer GROUP BY-Klausel ist.
- Die Klauseln result offset und fetch first: Mit der Klausel result offset werden die N ersten Zeilen übersprungen und die verbleibenden Zeilen als Ergebnismenge ausgewählt. Die fetch first-Klausel begrenzt zusammen mit der result offset-Klausel die Anzahl der Zeilen, die in der Ergebnismenge ausgewählt wurden.
- USING-Klausel: Dies ist eine obligatorische Klausel in der Join-Operation . Die USING-Klausel zeigt, welche Spaltengleichheit geprüft werden soll, um die beiden Tabellen zu verbinden.
- WHERE CURRENT OF-Klausel: Dies ist eine optionale Klausel in einer delete- oder UPDATE-Anweisung. Die WHERE CURRENT OF-Klausel gibt den Speicherort an, der bei aktualisierbaren Cursorn oder Aktualisierungen gelöscht wird.
Liste der Oracle-Klausel
Als nächstes wollen wir jede Klausel im Detail verstehen -
1. FROM-Klausel
Die FROM-Klausel ist ein obligatorischer Bestandteil einer Select-Anweisung. Die FROM-Klausel gibt den Namen der Tabellen an, von denen aus auf die Daten oder Spalten zur Verwendung in ausgewählten Ausdrücken zugegriffen werden soll.
Syntax der FROM-Klausel
FROM Table1 (, Table2 ) *
Abfragebeispiele
Select * from employee ;
Abfragebeispiel mit where-Klauselbedingung
select d.dep_id
from department as d
where dep_id< 10
Abfragebeispiel mit einer order by-Klausel
select st .tablename, sc .isindex
from sys.systables st, sys.sysconglomerates sc
where st.tableid = sc.tableid
order by tablename, isindex
Abfragebeispiel mit einer Join-Bedingung
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. CONSTRAINT-Klausel
Die CONSTRAINT-Klausel ist eine optionale Klausel einer CREATE TABLE-Anweisung. Eine CONSTRAINT-Klausel definiert eine Regel, die beim Einfügen der Daten zu erfüllen ist.
Die EINSCHRÄNKUNGEN unterscheiden sich auf einer anderen Ebene, wie unten angegeben -
1. Einschränkung auf Spaltenebene
Einschränkungen auf Spaltenebene erzwingen die Regel für eine einzelne Spalte in der Tabelle. Die Einschränkungen auf Spaltenebene sind unten angegeben.
- NOT NULL: Gibt an, dass die Spalte keine NULL-Werte speichern kann.
- PRIMARY KEY: Gibt an, dass die Spaltenwerte eindeutig sein sollen. Weiter können sie zum Identifizieren einer Zeile in der Tabelle verwendet werden. Der PRIMARY KEY gibt implizit NOT NULL an.
- EINZIGARTIG: Gibt an, dass die Spaltenwerte eindeutig sein müssen.
- FOREIGN KEY: Gibt an, dass auf die Spaltenwerte als Primärschlüssel verwiesen werden muss.
- CHECK: Gibt Regeln für die Spaltenwerte an.
2. Einschränkung auf Tabellenebene
Einschränkungen auf Tabellenebene erzwingen die Regel für eine oder mehrere Spalten in der Tabelle. Die Einschränkungen auf Tabellenebene stimmen mit denen auf Spaltenebene überein, der Unterschied besteht jedoch darin, wo die Einschränkung angegeben wird.
Abfragebeispiele
Beispiel für eine Primärschlüsseleinschränkung auf Spaltenebene namens did_pk -
create table department
(
Deptid number constraint did_pk primary key,
Dname char(10),
Location char(80) not null,
) ;
Beispiel für eine Primärschlüsseleinschränkung auf Tabellenebene namens did_pk
create table department
(
Deptid number constraint did_pk primary key,
Dname char(10),
Location char(80) not null,
primary key (Deptid)
);
3. WHERE-Klausel
Dies ist eine optionale Klausel einer Select-Anweisung, einer Update-Anweisung oder einer DELETE-Anweisung. Die WHERE-Klausel gibt an, welche Zeilen basierend auf einer Bedingung ausgewählt werden sollen. Es werden nur die Zeilen zurückgegeben oder gelöscht oder aktualisiert, bei denen die Bedingung oder der Ausdruck als WAHR ausgewertet werden.
Syntax der Where-Klausel
WHERE Booleanexpression
Beispiel
Where-Klausel Beispiel
select *
from flight
where business_taken_seats is null
or business_taken_seats = 0
Beispiel für eine WHERE-Klausel zum Verknüpfen mehrerer Tabellen
select a.*, last name
from emp_act as a, employee as e
where a.empno = e.empno ;
4. ORDER BY-Klausel
Eine ORDER BY-Klausel ist eine optionale Klausel der SELECT-Anweisung oder einer CREATE VIEW-Anweisung oder INSERT-Anweisung oder einer skalaren Unterabfrage oder einer Tabellenunterabfrage. Die Klausel gibt die Reihenfolge an, in der die Zeilen der Ergebnismenge angezeigt werden sollen.
Syntax der ORDER BY-Klausel
ORDER BY ( columnName | Expression | ColumnPosition )
( ASC (default) | DESC ) ;
Der Spaltenname Verweist auf die Spaltennamen, nach denen die Ergebnismenge sortiert werden soll. Die ColumnPosition ist eine Ganzzahl, die die Spaltenposition in Select Items in der Abfrage der SELECT-Anweisung angibt. Der Ausdruck besteht aus Zahlen-, Datums- und Zeichenfolgenausdrücken. Der ASC gibt die aufsteigende Reihenfolge an. Das DES gibt die absteigende Reihenfolge an.
Ordnen Sie anhand eines Beispiels mit einem Korrelationsnamen
In der folgenden select-Anweisung enthält die location-Spalte den Korrelationsnamen country, der in der order by-Klausel verwendet wird.
Select name, location as country
From employee
Order by country
Ordnen Sie nach Beispiel mit einem numerischen Ausdruck
In der unten stehenden Select-Anweisung wird in der Order by-Klausel der Ausdruck Salary + Hike - verwendet.
Select name, salary, hike from emp
Order by salary + hike
Bestellen Sie nach Vorbild mit einer Funktion
In der folgenden select-Anweisung wird die Funktion order by clause verwendet, um die Position anzugeben.
Select a, len from calculation
Order by sin(a)
Bestellen Sie anhand eines Beispiels und geben Sie dabei null an
Sie können die Position von Nullwerten mithilfe der Nullordnungsspezifikation angeben:
Select * from table1 order by column1 asc nulls last
5. FOR UPDATE-Klausel
Die FOR UPDATE-Klausel erzwingt eine SELECT-Prüfanweisung während der Kompilierung, um die Bedingung für die Aktualisierbarkeit eines Cursors zu erfüllen.
Syntax der FOR UPDATE-Klausel
FOR
(
FETCH ONLY | READ ONLY | UPDATE ( OF columnName (, columnName)* ) )
Der Spaltenname wird in der FROM-Klausel der Abfrage angegeben.
FOR UPDATE-Klauselbeispiel
select eid, name, salary, deptid from emphist for update
6. GROUP BY-Klausel
Diese Klausel gibt eine Teilmenge des Gruppenergebnisses zurück.
Syntax der GROUP BY-Klausel
GROUP BY
(
columnName (, columnName )*
|ROLLUP ( column-Name (, column-Name )* )
)
Beispiele
Finden Sie das Durchschnittsgehalt eines Mitarbeiters, gruppiert nach Mitarbeitern
select avg (salary), deptid
from employee
group by deptid ;
select max (salary), deptid
from employee
group by deptid ;
7. HAVING-Klausel
Die HAVING-Klausel schränkt die durch die GROUP BY-Klausel definierte Gruppenauswahl ein.
Syntax der HAVING-Klausel
HAVING Condition
Beispiel der HAVING-Klausel schränkt die Gruppenauswahl für avg (Gehalt) ein -
select avg (salary), deptid
from employee
group by deptid having avg(salary) > 50000;
Die unten angegebene Abfrage ist ungültig, da die Spalte "deptid" keine Gruppierungsspalte ist.
select avg (salary), deptid
from employee
group by deptid having deptid > 5;
Das Ergebnis wird versetzt und die ersten Klauseln werden abgerufen
Die Klauseln result offset und fetch first dienen zum Überspringen der N ersten Zeilen und fetch first, um die Anzahl der in der Ergebnismenge ausgewählten Zeilen zu begrenzen.
Syntax von The result offset und fetch first clauses -
OFFSET ( integer ) (ROW | ROWS)
FETCH ( FIRST | NEXT ) ( integer ) (ROW | ROWS) ONLY
Beispiele
Holen Sie sich die erste Reihe von T
Select * from employee fetch the first row only
8. Using-Klausel
Die using-Klausel wird verwendet, um die beiden Tabellen basierend auf der Bedingung zu verknüpfen.
Syntax der using-Klausel
Using ( columnname (, columnname )* )
Beispiele
In diesem Beispiel werden die Ländertabelle und die Städtetabelle unter der Bedingung "cities.country ist gleich Ländern" verknüpft. Land -
Select * from employee join department
using (eid)
9. WHERE CURRENT OF-Klausel
Die WHERE CURRENT OF-Klausel gibt den Speicherort an, der bei aktualisierbaren Cursorn oder Aktualisierungen gelöscht wird.
Die Syntax der WHERE CURRENT OF-Klausel
WHERE CURRENT OF cursorName
Beispiel
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");
Empfohlene Artikel
Dies ist eine Anleitung zu Oracle-Klauseln. Hier besprechen wir die List of Oracles-Klausel mit den Beispielen und die Syntax mit den jeweiligen Ergebnissen. Klauseln in Oracle sind Schlüsselwörter, die für den bestimmten Zweck verwendet werden oder die spezielle Bedeutung angeben. Sie können auch unsere anderen vorgeschlagenen Artikel durchgehen, um mehr zu erfahren -
- Oracle Warehouse Builder
- Was ist eine Oracle-Datenbank?
- Karriere bei Oracle
- Karriere in Oracle Database Administrator