Skip to Main Content

 

Auswahl  

Oracle SET Operatoren und Gruppenfunktionen und Unterabfragen 

Oracle
SQL
RDBMS 11.2
05.07.23 (MP)
05.07.23(MP)
Oracle SET Operatoren, Oracle Gruppenfunktionen, Oracle Unterabfragen

Passende Schulungen zum Thema

Oracle SET-Operatoren

INFOBESCHREIBUNGBEISPIEL
UNIONgibt alle Zeilen aus Mehrfachabfragen zurück (doppelte werden ausgeblendet)SELECT empno, ename, dname, loc, d.deptno    
FROM emp e, dept d    
WHERE e.deptno = d.deptno(+)    
UNION    
SELECT empno, ename, dname, loc, d.deptno    
FROM emp e, dept d    
WHERE e.deptno(+) = d.deptno;
UNION ALLgibt alle, auch doppelte Zeilen aus Mehrfachabfragen zurück 
INTERSECTgibt ausschließlich gemeinsame Zeilen aus beiden Anfragen zurück 
MINUSgibt nur die Zeilen zurück, die von der ersten, nicht aber von der Zweiten Abfrage zurück gegeben werden(Abfrage 1 minus Abfrage 2) 

 

 

 

Oracle Gruppenfunktionen

INFOBESCHREIBUNGBEISPIEL
COUNT(*/Ausdruck/Spalte)zählt alle ausgewählten ZeilenSELECT count(*) FROM emp WHERE deptno = 30;
MIN/MAX(spalte/ausdruck)ermittelt minimalen / maximalen Wert eines AusdrucksSELECT min(sal), max(sal) FROM emp;
AVG/SUM(spalte/ausdruck)Durchschnitts/Summenwert einer SpalteSELECT sum(sal), avg(sal) FROM emp;
grpfkt(NVL(spalte, n))auch NULL-Werte gehen in die Berechnungen mit einSELECT avg(nvl(comm, 0)) FROM emp;
GROUP BY spalte[, spalte]unterteilt Zeilen einer Tabelle in GruppenSELECT job, avg(sal)    
FROM emp GROUP BY job;
HAVING group_condlegt fest welche Gruppen angezeigt werden sollenSELECT deptno, job, count(*), avg(sal)    
FROM emp GROUP B> deptno, job    
HAVING count(*) = 1 AND avg(sal>2000);

 

 

 

Oracle Unterabfragen

INFOBESCHREIBUNGBEISPIEL
Single-Row UAgibt eine Zeile aus der inneren SELECT Anweisung zurück(=,><,<>)SELECT * FROM emp WHERE sal >    
(SELECT avg(sal) FROM emp);    
SELECT ename, sal FROM emp    
WHERE deptno = (SELECT deptno FROM dept WHERE loc = 'DALLAS')    
AND sal > (SELECT sal FROM emp    
WHERE ename = 'TURNER');
Multiple-Row Unterabfragegibt mehrere Zeilen Zurück in, ANY, ALL 
IN Unterabfrageentspricht einem ListenelementSELECT ename, sal deptno FROM emp    
WHERE sal IN (SELECT max(sal)    
FROM emp GROUP BY deptno);
ANY UnterabfrageWert wird mit jedem einzelnen Unterabfragewert verglichenSELECT ename, job, sal FROM emp    
WHERE sal < ANY (SELECT sal FROM emp    
WHERE job = 'SALESMAN');
ALL UnterabfrageWert wird mit allen Unterabfragewert verglichen 

 

 

Weitere Interessante Kurs-Tipps zum Thema

Besuchen Sie uns doch bei einer unsere über 50 Oracle Schulungen in München - Unterhaching, oder verfolgen Sie die Training per Videostreaming bequem vom Home Office oder Büro aus.