2.1 Daten abfragen (SELECT)
Was ist der Zweck eines SELECT-Befehls in SQL?
Der SELECT-Befehl dient dazu, Daten aus einer oder mehreren Tabellen einer Datenbank abzufragen, ohne den gespeicherten Datenbestand zu verändern. Es handelt sich dabei um eine Read-only-Operation.
Aus welchen grundlegenden Elementen besteht ein gültiges SELECT-Statement?
Ein gültiges SELECT-Statement besteht mindestens aus den Elementen SELECT (für die Liste der Spalten) und FROM (für die Tabelle, aus der die Daten abgerufen werden). Optional können WHERE, GROUP BY, HAVING und ORDER BY hinzugefügt werden.
Was passiert, wenn im SELECT-Befehl * als Spaltenliste angegeben wird?
Das *-Symbol bewirkt, dass alle Spalten der angegebenen Tabelle im Ergebnis ausgegeben werden.
SELECT * FROM Country;
Welche Funktion hat die WHERE-Klausel in einem SELECT-Statement?
Die WHERE-Klausel schränkt die Ergebnismenge ein, indem sie Bedingungen definiert, die erfüllt sein müssen, damit ein Datensatz im Ergebnis enthalten ist.
Wie können doppelte Datensätze in einer SQL-Abfrage vermieden werden?
Doppelte Datensätze können vermieden werden, indem man das Schlüsselwort DISTINCT verwendet. Es sorgt dafür, dass identische Datensätze im Ergebnis nur einmal angezeigt werden.
Wofür wird die GROUP BY-Klausel in einem SELECT-Statement verwendet?
Die GROUP BY-Klausel fasst Datensätze im Ergebnis in Gruppen zusammen, auf die gezielte Berechnungen oder Einschränkungen angewendet werden können.
Was bewirkt die ORDER BY-Klausel in einem SELECT-Statement?
Die ORDER BY-Klausel bestimmt, nach welchen Spalten das Ergebnis der Abfrage sortiert wird.
Wie wird das Ende eines SQL-Statements markiert?
Das Ende eines SQL-Statements wird mit einem Semikolon („;“) markiert.
2.2 Daten mit Bedingung abfragen
Wofür wird das Schlüsselwort WHERE in einem SELECT-Statement verwendet?
Das Schlüsselwort WHERE wird verwendet, um die Ergebnismenge eines SELECT-Statements auf eine bestimmte Menge von Werten einzuschränken. Es definiert eine Bedingung, die die Datensätze erfüllen müssen, um in das Ergebnis aufgenommen zu werden.
Wie wird eine einfache WHERE-Bedingung in SQL formuliert, um alle Länder in Amerika abzufragen?
SELECT Name FROM Country WHERE Continent='America';
Name
Bolivia
Brazil
Canada
Mexico
United
States
Welche logischen Operatoren können in einer WHERE-Bedingung verwendet werden?
NOT: Negation einer Bedingung
OR: Verknüpft Bedingungen mit ODER
AND: Verknüpft Bedingungen mit UND
Wie funktioniert die Negation einer Bedingung mit dem Operator NOT?
Der Operator NOT negiert die angegebene Bedingung. Beispiel:
SELECT Name FROM Country WHERE NOT Continent='America';
Dies gibt alle Länder zurück, die nicht in Amerika liegen.
Was ist der Unterschied zwischen den SQL-Statements mit AND und OR in einer WHERE-Bedingung?
AND
OR
AND: Beide Bedingungen müssen wahr sein, damit ein Datensatz in das Ergebnis aufgenommen wird.
SELECT Name FROM Country WHERE Continent='Europe' AND Percentage=100;
OR: Mindestens eine der Bedingungen muss wahr sein, damit ein Datensatz in das Ergebnis aufgenommen wird.
SELECT Name FROM Country WHERE Continent='America' OR Continent='Africa';
Wie können Vergleichsoperatoren in SQL verwendet werden?
Vergleichsoperatoren werden verwendet, um Datensätze nach bestimmten Bedingungen zu filtern. Beispiele:
= (gleich): Continent='America'
=
Continent='America'
!= (ungleich): Continent !='America'
!=
Continent !='America'
> (größer als): Percentage > 50
>
Percentage > 50
>= (größer oder gleich): Population >= 1000000
>=
Population >= 1000000
BETWEEN (zwischen zwei Werten): Population BETWEEN 6000000 AND 100000000
BETWEEN
Population BETWEEN 6000000 AND 100000000
LIKE (Beginnt mit C und besteht aus 3 Zeichen); Code LIKE ʼC__ʼ
LIKE
Code LIKE ʼC__ʼ
IS NULL Kein Wert in Datenbank gespeichert Code IS NULL
IS NULL
Code IS NULL
IN Einschränkung auf Werte einer gegebenen Wertemenge Continent IN (ʼAmericaʼ, ʼEuropeʼ)
IN
Continent IN (ʼAmericaʼ, ʼEuropeʼ)
Was bewirkt der LIKE-Operator in SQL und wie wird er verwendet?
Der LIKE-Operator wird verwendet, um Muster in Zeichenketten zu suchen.
% steht für eine beliebige Zeichenfolge
%
_ steht für ein einzelnes Zeichen Beispiel:
_
SELECT * FROM Country WHERE Name LIKE 'M%';
Dies gibt alle Länder zurück, deren Name mit dem Buchstaben "M" beginnt.
Wie funktioniert der BETWEEN-Operator in SQL?
Der BETWEEN-Operator wird verwendet, um Datensätze zu filtern, deren Werte in einem bestimmten Bereich liegen.
Beispiel:
SELECT Name FROM Country WHERE Population BETWEEN 6000000 AND 100000000;
Dies gibt alle Länder zurück, deren Bevölkerung zwischen 6 und 100 Millionen liegt.
Welche Funktion hat der Operator IN in einer WHERE-Bedingung?
Der Operator IN wird verwendet, um zu prüfen, ob ein Wert in einer gegebenen Menge von Werten enthalten ist.
SELECT Name FROM Country WHERE Continent IN ('America', 'Europe');
Dies gibt alle Länder zurück, die entweder in Amerika oder Europa liegen.
Welche Datumsfunktionen sind in SQL verbreitet und wofür werden sie verwendet?
Zwei häufig verwendete Datumsfunktionen sind:
CURRENT_DATE: Gibt das aktuelle Datum zurück.
(CURRENT_DATE – bestelldatum) >= 3;
CURRENT_TIMESTAMP: Gibt das aktuelle Datum und die Uhrzeit zurück.
SELECT CURRENT_TIMESTAMP;
Was sind Zeichenkettenfunktionen in SQL und wie wird CONCAT verwendet?
Zeichenkettenfunktionen werden verwendet, um Zeichenketten zu bearbeiten.
CONCAT: Verbindet mehrere Zeichenketten zu einer.
SELECT CONCAT(Name, ' ', Code) FROM Country;
Dies verbindet den Namen eines Landes mit dessen Code.
CONCAT_WS: Verbindet die als Parameter übergebenen Werte zu einer Zeichenkette und fügt zwischen 2 Werten immer die als 1. Parameter übergebenen Zeichen als Trennzeichen ein.
SELECT CONCAT_WS (’ ’, Name, Code, Area, ’;’) FROM Country;
2.3 Ausgabe von Abfragen sortieren
Was bewirkt das Schlüsselwort ORDER BY in einer SQL-Abfrage?
ORDER BY
Das Schlüsselwort ORDER BY sortiert die Ergebnismenge einer SQL-Abfrage nach den festgelegten Kriterien, entweder auf- oder absteigend.
Wie lautet das SQL-Statement, um alle Länder in Amerika basierend auf der Einwohnerzahl in absteigender Reihenfolge zu sortieren?
SELECT Name FROM Country
WHERE Continent='America'
ORDER BY Population DESC;
Was bedeutet der Reihenfolgeindikator ASC im Zusammenhang mit ORDER BY?
ASC
ASC steht für "aufsteigend" (A–Z oder 0–9).
Was bedeutet der Reihenfolgeindikator DESC im Zusammenhang mit ORDER BY?
DESC
DESC steht für "absteigend" (Z–A oder 9–0).
Wie sieht ein SQL-Statement aus, das mehrere Spalten sortiert, wobei die erste Spalte aufsteigend und die zweite absteigend sortiert wird?
ORDER BY spalte1 ASC, spalte2 DESC;
Welche Sortierreihenfolge wird verwendet, wenn bei ORDER BY keine Angabe zur Reihenfolge gemacht wird?
Der Standardwert ist aufsteigend (ASC).
Wie kannst du die Ergebnismenge einer SQL-Abfrage zuerst nach Kontinent aufsteigend und dann nach Name ebenfalls aufsteigend sortieren?
ORDER BY Continent ASC, Name ASC;
Wie lautet das Schema für eine Sortierung nach mehreren Spalten, wobei jede Spalte eine eigene Sortierreihenfolge hat?
ORDER BY spalte1 reihenfolge1, spalte2 reihenfolge2, ..., spalteN reihenfolgeN;
2.4 Abfragen mit Gruppenbildung (GROUP BY)
Was bewirkt das Schlüsselwort GROUP BY in einer SQL-Abfrage?
GROUP BY
GROUP BY wird verwendet, um Daten zu gruppieren, was es ermöglicht, für jede Gruppe Auswertungsfunktionen wie COUNT, SUM oder AVG anzuwenden.
Wie lautet das SQL-Statement, um die Anzahl der Länder pro Kontinent abzufragen?
SELECT Continent, COUNT(*) FROM Country GROUP BY Continent;
Was ist eine Aggregatsfunktion und nenne ein Beispiel.
Aggregatsfunktionen fassen mehrere Werte zu einem Wert zusammen. Ein Beispiel ist COUNT(*), das die Anzahl der Datensätze in einer Gruppe zählt.
COUNT(*)
Wie kann man Spaltennamen in einer SQL-Abfrage umbenennen?
Mit dem Schlüsselwort AS kann man Spaltennamen umbenennen, z.B. SELECT COUNT(*) AS AnzahlDerLaenderProKontinent.
AS
SELECT COUNT(*) AS AnzahlDerLaenderProKontinent
Welche Aggregatsfunktionen sind in SQL wichtig? Nenne drei Beispiele.
COUNT(*) - zählt die Anzahl der Datensätze.
SUM(spalte) - summiert die Werte einer Spalte.
SUM(spalte)
AVG(spalte) - berechnet den Durchschnittswert einer Spalte.
AVG(spalte)
MAX(spalte) - berechnet den Maximalwert einer Spalte
MAX(spalte)
MIN(spalte) - berechnet den Minimalwert einer Spalte
MIN(spalte)
Wie wird das Schlüsselwort HAVING in einer SQL-Abfrage verwendet?
HAVING
HAVING schränkt die Ausgabe der gruppierten Ergebnisse ein, indem es Bedingungen auf die bereits gruppierten Datensätze anwendet, z.B. HAVING COUNT(*) >= 5.
HAVING COUNT(*) >= 5
Wie lautet das SQL-Statement, um Kontinente mit mindestens 5 Ländern, die vollständig auf einem Kontinent liegen, abzufragen?
SELECT Continent FROM Country
WHERE Percentage=100
GROUP BY Continent
HAVING COUNT(*) >= 5;
2.5 Unterabfragen mit verschachtelten SELECT-Statements
Was sind Unterabfragen in SQL?
Unterabfragen, auch Subselects genannt, sind SELECT-Anweisungen innerhalb anderer SELECT-Statements, die häufig für Filterbedingungen in WHERE oder HAVING eingesetzt werden.
Wozu dienen Unterabfragen in SQL?
Unterabfragen dienen dazu, dynamische Vergleichswerte aus dem aktuellen Datenbestand zu ermitteln, insbesondere wenn der Vergleichswert nicht zur Zeit der Erstellung der SQL-Abfrage bekannt ist.
Wie wird eine duplikatfreie Liste von Ländern abgefragt, die größer als die durchschnittliche Fläche sind?
SELECT DISTINCT Name, Area FROM Country
WHERE Area > (SELECT AVG(Area) FROM Country);
Was ist der Unterschied zwischen Unterabfragen mit genau einem Rückgabewert und solchen mit mehrzeiligen Rückgaben?
Unterabfragen mit genau einem Rückgabewert liefern genau eine Spalte und einen Datensatz, während Unterabfragen mit mehrzeiligen Rückgaben mehrere Datensätze zurückgeben können.
Nenne ein Beispiel für eine Unterabfrage mit mehrzeiligen Rückgaben.
Eine Abfrage, die die Namen und Hauptstädte von Ländern zurückgibt, die auf einem Kontinent liegen, zu dem mehr als sechs Länder gespeichert sind. Beispiel-Statement:SELECT Name, Capital FROM Country
SELECT Name, Capital FROM Country
WHERE Continent IN (SELECT Continent FROM Country GROUP BY Continent HAVING COUNT(*) > 6);
Wie funktioniert der Vergleichsoperator IN in einer Unterabfrage?
Der Vergleichsoperator IN prüft, ob ein bestimmter Wert in einer Menge von Werten enthalten ist, die von einer Unterabfrage zurückgegeben wird.
Was bedeutet der Vergleichsoperator ALL in einer Unterabfrage?
ALL
Der Operator ALL vergleicht einen Wert mit allen Werten einer Unterabfrage und gibt TRUE zurück, wenn der Vergleich für alle Datensätze der Unterabfrage TRUE ergibt.
SELECT DISTINCT Name, Population FROM Country
WHERE (Population/Area) > ALL (SELECT Population/Area FROM Country WHERE Continent=ʼEuropeʼ)
ORDER BY Name;
Gibt die Länder zurück, deren Bevölkerungsdichte größer ist als die von allen Ländern in Europa.
Was macht der Vergleichsoperator ANY in einer SQL-Abfrage?
ANY
Der Operator ANY vergleicht einen Wert mit allen Werten einer Unterabfrage und gibt TRUE zurück, wenn der Vergleich für mindestens einen Datensatz der Unterabfrage TRUE ergibt.
SELECT> Name, Area FROM Country
WHERE Area >= ANY (SELECT SUM(Area) FROM Country GROUP BY Continent)
Gibt die Länder zurück, deren Fläche größer gleich der Gesamtfläche eines Kontinents ist.
Was prüft der Operator EXISTS in einer SQL-Abfrage?
EXISTS
Der Operator EXISTS prüft, ob in der Ergebnismenge der Unterabfrage mindestens ein Datensatz vorhanden ist, und wird häufig in Kombination mit der Hauptabfrage verwendet.
SELECT Name, Vorname FROM Kunde a
WHERE EXISTS (SELECT LieferanschriftFuerKunde FROM Adresse b
WHERE b.LieferanschriftFuerKunde = a.KundeID)
Gibt Namen und Vornamen zu Kunden aus, für die eine Lieferanschrift gespeichert wurde.
Zuletzt geändertvor 3 Monaten