Skip to Main Content

 

Auswahl  

Komplett Übersicht aller Oracle Tipps

Übersicht der wichtigsten SQL-Befehle 

Oracle
SQL
RDBMS 11.x
05.09.19 (MD)
12.07.23(MD)
sql, sql-befehle

Passende Schulungen zum Thema

Der Oracle SELECT Befehl

 

INFO

 

ERKLÄRUNGBEISPIEL
SELECT * FROM tabellen_namewählt alle Spalten der Tabelle ausSELECT *           
FROM emp;
ausdruck as "..."Spalten-Aliasnamen verwendenSELECT ename as "Name"           
FROM emp;
... || ...VerkettungsoperatorSELECT ename||job           
FROM emp;
... ||'...'||...Zeichenkette verwendenSELECT 'Hallo '||user||' wie geht`s?'           
FROM dual;
DISTINCT spalteschließt doppelte Zeilen ausSELECT DISTINCT job FROM emp;
ORDER BY spalte [desc/asc]sortiert in bestimmter ReihenfolgeSELECT ename, sal           
FROM emp           
ORDER BY sal desc;
ORDER BY alias_spaltesortiert nach AliasnamenSELECT ename, job beruf, sal           
FROM emp           
ORDER BY beruf, ename;

 

 

Die Oracle WHERE Bedingung

INFOERKLÄRUNGBEISPIEL
WHERE bedingungWHERE bedingung(en)SELECT * FROM emp           
WHERE ename = 'SMITH';
WHERE ... >, >, = <,<>, =VergleichsoperatorenSELECT ename FROM emp           
WHERE deptno <> 10;
WHERE ... BETWEEN ... ANDzeigt Zeilen auf einem Wertebereich basierend anSELECT * FROM emp           
WHERE sal BETWEEN 1000 AND 2000;
WHERE ... IN(...,...,...)teste auf Werte in einer ListeSELECT * FROM emp           
WHERE mgr IN (7902, 7782, 7839);
WHERE ... LIKE '%... %'sucht nach gültigen ZeichenfolgenSELECT * FROM emp           
WHERE ename LIKE 'A%';
WHERE... IS [NOT] NULLtestet auf (nicht) Null-WerteSELECT * FROM emp           
WHERE comm IS NOT NULL;
WHERE... AND ...setzt voraus das beide Bedingungen wahr sindSELECT * FROM emp           
WHERE sal = 1300 AND deptno = 10;
WHERE... OR...setzt voraus das mind. eine der Bedingungen war istSELECT * FROM emp           
WHERE sal>2000 OR job LIKE 'SAL%';
WHERE... NOT...setzt voraus das eine Bedingung nicht erfüllt istSELECT * FROM emp           
WHERE ename NOT BETWEEN 'CLARK' AND 'SCOTT';
WHERE(... OR...) AND...Klammern verwenden um Priorität durchzusetzenSELECT *           
FROM emp           
WHERE (deptno = 10 OR depnto = 20)           
AND sal>2500;

 

 

Die Oracle CASE Bedingung

INFOBESCHREIBUNGBEISPIEL
CASE... WHEN... THEN...Das Pendant zum If-Then-Else Statement in PL/SQLSELECT emp,           
CASE           
WHEN sal>3000 THEN 'Das Gehalt ist größer als 3000'           
WHEN sal<2500 THEN 'Das Gehalt ist kleiner als 2500'           
ELSE 'ERROR'           
END;           
FROM emp;
CASE [exp] WHEN... THEN...Man kann Spalte auch schon beim Wort CASE mit angebenSELECT emp,           
CASE owner           
WHEN 'SYS' THEN 'Der Owner ist SYS'           
WHEN 'SYSTEM' THEN 'Der Owner ist SYSTEM'           
END;           
FROM all_tables;

 

Oracle Tabellenverknüpfung durch Joins

INFOBESCHREIBUNGBEISPIEL
Equijoinidentische Werte in 2 Spalten verschiedener TabellenSELECT ename, e.deptno, dname, loc           
FROM emp e JOIN dept d;
 alte SyntaxSELECT ename, e.deptno, dname, loc           
FROM emp e, dept d, WHERE e.deptno = d.deptno;
 USING-KlauselSELECT ename, deptno, dname, loc           
FROM emp JOIN dept USING(deptno);
 Natural Join, Verknüpfung erfolgt durch gleiche Spalten
SELECT empno, deptno, dname, loc           
FROM emp natural JOIN dept;
Self Joinverknüpft eine Tabelle mit sich selbstSELECT t1.ename "Hiwi", t2.ename "Chef"           
FROM emp t1, emp 2 WHERE t1.mgr = t2.empno;
 alte SyntaxSELECT t1.ename "Hiwi", t2.ename "Chef"           
FROM emp t1 JOIN emp t2           
ON (t1.mgr = t2.empno);
Non-Equijoinkeine Spalte einer Tabelle entspricht direkt einer Spalte einer anderen TabelleSELECT ename, job, sal grade           
FROM emp e, salgrade s           
WHERE sal BETWEEN s.local and s.hisal;
Outer Joinzeigt auch Zeilen an die nicht der Join Bedingung entsprechen 
 {LEFT|RIGHT|FULL} Outer JoinSELECT empno, ename, dname, d.deptno           
FROM emp e RIGHT OUTER JOIN dept d           
ON (e.deptno = d.deptno);
 alte SyntaxSELECT empno, ename, dname, d.deptno           
FROM emp e, dept d           
WHERE e.deptno(+) = d.deptno;
Cross Joinentspricht dem KreuzproduktSELECT empno, ename, sal, dname           
FROM emp CROSS JOIN dept;

 

Weitere Interessante Kurs-Tipps zum Thema