Weiter zum Inhalt

Die 99 wichtigsten SQL-Interviewfragen und Antworten für 2026

Werde interviewfit mit diesem umfassenden Überblick über essenzielle SQL-Interviewfragen und -antworten – für Jobsuchende, Hiring Manager und Recruiter.
Aktualisiert 30. Apr. 2026  · 15 Min. lesen

Ganz gleich, ob du als Jobsuchender eine neue Chance suchst, um deine SQL-Kompetenzen einzusetzen, oder als Hiring Manager Bewerbende für eine offene Stelle befragen willst: Gängige SQL-Interviewfragen und -antworten zu kennen, ist ein Muss.

Dieser Artikel fasst 99 SQL-Interviewfragen und -antworten für 2026 zusammen. Er deckt zentrale SQL-Themen ab, damit du dich effektiv vorbereitest, dazulernst und fundiert rekrutierst, unter anderem:

  • Grundlagenwissen: Klare Definitionen von RDBMS, Schlüsseln und SQL-Dialekten.
  • Technische Tiefe: Vertiefungen zu DDL vs. DML, Constraints und Indexierung.
  • Abfragelogik: Erklärungen zu Joins, Subqueries und Aggregatfunktionen.
  • Praxisanwendung: Lösungen für reale Coding-Aufgaben wie das Finden des n.-höchsten Werts oder das Entfernen von Duplikaten.
  • Szenariobasierte Fragen: Interview-ähnliche Aufgaben zu laufenden Summen, Duplikaterkennung, Gap-Analysen und mehr.

 Wenn du dein Wissen und deine Fähigkeiten weiter ausbauen willst, schau dir unsere umfassenden Kurse zu Data Engineering, Cloud-Technologien und AWS an.

SQL-Interviewfragen auf einen Blick

SQL-Interviews spiegeln oft wider, wie Menschen die Sprache tatsächlich lernen.

Am Anfang geht es um Vokabular und Grammatik – also darum, was ein Join ist, wie SELECT funktioniert und worin sich DDL und DML unterscheiden.

Mit wachsender Routine verschiebt sich der Fokus von „Kannst du eine Query schreiben?“ zu „Schreibst du die richtige Query?“. Du verstehst, wann ein Index hilft, warum Normalisierung wichtig ist und wie sich ähnlich klingende Befehle wie DELETE und TRUNCATE unter der Haube unterscheiden.

Auf Senior-Level wird Syntax vorausgesetzt; gefragt ist Problemlösung: Duplikate, NULLs, Ties und Ranking-Logik mit Window Functions und CTEs beherrschen sowie über Transaktionen, Concurrency und Performance nachdenken. 

Für Fortgeschrittene

  1. Funktionen in SQL. Du solltest Aggregat- und Skalarfunktionen kennen sowie eingebaute und benutzerdefinierte Funktionen.

  2. Erweiterte Befehle. Fragen können Themen wie Joins, Primär- und Fremdschlüssel, Indexe und SQL-Beziehungen abdecken.

  3. Datenbankdesign. Rechne mit Fragen zu Normalisierung, Denormalisierung und Unterschieden zwischen Statements wie DELETE, TRUNCATE und DROP.

  4. Erweiterte Abfragen. Subqueries (verschachtelt und korreliert) sowie Aufgaben wie das Finden des n.-höchsten Werts in einer Spalte.

Allgemeine SQL-Interviewfragen

Bevor es technisch wird, stellt der oder die Interviewer(in) oft allgemeine Fragen zu deiner SQL-Erfahrung.\

Mach dir keine Sorgen, wenn deine SQL-Erfahrung begrenzt ist – das sieht man meist im Lebenslauf. Wenn du eingeladen wurdest, passt dein Profil grundsätzlich. Außerdem ist es völlig in Ordnung, wenn du bisher nur mit einem SQL-Dialekt gearbeitet hast. Die Dialekte sind sich sehr ähnlich – Erfahrung in einem ist eine solide Basis, um andere schnell zu lernen.

1. Was ist SQL?

SQL steht für Structured Query Language und ist eine Programmiersprache zur Interaktion mit relationalen Datenbankmanagementsystemen (RDBMS). Dazu gehören das Abrufen, Aktualisieren, Einfügen und Löschen von Daten aus Tabellen.

2. Was sind SQL-Dialekte? Nenne Beispiele.

Die verschiedenen (freie und kostenpflichtige) Versionen von SQL werden als SQL-Dialekte bezeichnet. Alle Dialekte haben eine sehr ähnliche Syntax und unterscheiden sich nur in Zusatzfunktionen geringfügig. Beispiele sind Microsoft SQL Server, PostgreSQL, MySQL, SQLite, T-SQL und Oracle.

3. Was sind die Hauptanwendungsfälle von SQL?

Mit SQL können wir:

  • Tabellen in einer Datenbank erstellen, löschen und aktualisieren
  • Daten in einer Tabelle abrufen, verändern und anpassen
  • benötigte Informationen aus einer oder mehreren Tabellen abfragen und zusammenfassen
  • bestimmte Zeilen oder Spalten zu einer Tabelle hinzufügen oder daraus entfernen

SQL-Interviewfragen für Einsteiger 

Zum Einstieg kommen oft leichtere Fragen:

4. Was ist ein SQL-Statement?

Auch SQL-Befehl genannt. Eine Zeichenfolge, die die SQL-Engine als gültigen Befehl interpretiert und ausführt. Beispiele: SELECT, CREATE, DELETE, DROP, REVOKE usw.

5. Was ist eine SQL-Query?

Eine in SQL geschriebene Anweisung, um Daten in einer Datenbank abzurufen oder zu verändern.

Es gibt zwei Arten von SQL-Abfragen: zum Abrufen und zum Ändern von Daten. Erstere dienen dazu, benötigte Daten zu holen (inklusive Limitieren, Gruppieren, Sortieren, Zusammenführen aus mehreren Tabellen usw.). Letztere erstellen, fügen hinzu, löschen, aktualisieren und benennen Daten um.

6. Was ist eine SQL-Subquery?

Auch innere Abfrage genannt: Eine Query, die in einer anderen (äußeren) Query steht. Eine Subquery kann in Klauseln wie SELECT, FROM, WHERE, UPDATE etc. vorkommen. Subqueries können wiederum Subqueries enthalten. Die innerste Subquery läuft zuerst, ihr Ergebnis wird nach außen gereicht.

7. Was ist ein SQL-Join?

Eine Klausel, um Datensätze aus zwei oder mehreren Tabellen zu kombinieren und abzurufen. Tabellen werden basierend auf Beziehungen zwischen ihren Spalten verknüpft. Sieh dir unser SQL-Joins-Tutorial für mehr Kontext an – plus unseren Leitfaden zu SQL-Join-Interviewfragen

8. Was ist ein SQL-Kommentar?

Eine für Menschen lesbare Erläuterung, was ein bestimmter Codeabschnitt macht. SQL-Kommentare können einzeilig sein (eingeleitet mit zwei Bindestrichen --) oder sich über mehrere Zeilen erstrecken (so: /*comment_text*/). Beim Ausführen ignoriert die Engine Kommentare. Sie dienen der Verständlichkeit für künftige Leser.

9. Was ist ein SQL-Alias?

Ein temporärer Name für eine Tabelle (oder Spalte) während der Ausführung einer Query. Aliasse verbessern Lesbarkeit und machen Code kompakter. Ein Alias wird mit dem Schlüsselwort AS eingeführt:

SELECT col_1 AS column
FROM table_name;

Technische SQL-Interviewfragen

Kommen wir nun zu technischen SQL-Interviewfragen und möglichen Antworten.

Bei technischen Fragen ist es am besten, präzise zu antworten. Weitschweifige Antworten wirken wie Abschweifungen und provozieren Rückfragen, bei denen du womöglich unsicher bist.

SQL ermöglicht viele Wege, eine Datenbank abzufragen. Außerdem lässt sich SQL leicht mit anderen Sprachen wie Python oder R kombinieren – so nutzt du die Stärken beider.

10. Welche Arten von SQL-Befehlen kennst du?

  • Data Definition Language (DDL) – definiert und verändert die Struktur einer Datenbank.
  • Data Manipulation Language (DML) – greift auf Daten zu, manipuliert und ändert sie.
  • Data Control Language (DCL) – steuert den Nutzerzugriff und vergibt/entzieht Berechtigungen.
  • Transaction Control Language (TCL) – steuert Transaktionen in einer Datenbank.
  • Data Query Language (DQL) – stellt Abfragen, um benötigte Informationen zu erhalten.

11. Nenne Beispiele für gängige SQL-Befehle.

  • DDL: CREATE, ALTER TABLE, DROP, TRUNCATE und ADD COLUMN

  • DML: UPDATE, DELETE und INSERT

  • DCL: GRANT und REVOKE

  • TCL: COMMIT, SET TRANSACTION, ROLLBACK und SAVEPOINT

  • DQL:SELECT

12. Was ist ein DBMS und welche Typen kennst du?

DBMS steht für Database Management System – eine Software, um Daten in einer Datenbank zu verwalten: darauf zugreifen, sie aktualisieren, aufbereiten, einfügen und entfernen. Es gibt verschiedene Typen, etwa relational, hierarchisch, Netzwerk-, Graph- oder objektorientiert – je nach Datenorganisation, -struktur und -speicherung.

13. Was ist ein RDBMS? Nenne Beispiele.

RDBMS steht für Relational Database Management System. Es ist der gängigste DBMS-Typ für Daten in mehreren, über Schlüssel verknüpften Tabellen. SQL wurde zur Interaktion mit RDBMS entwickelt. Beispiele: MySQL, PostgreSQL, Oracle, MariaDB usw.

14. Was sind Tabellen und Felder in SQL?

Eine Tabelle ist eine organisierte Sammlung zusammenhängender Daten in Zeilen und Spalten. Ein Feld ist ein anderer Begriff für eine Spalte.

15. Welche Arten von SQL-Subqueries kennst du?

  • Single-row – liefert höchstens eine Zeile.
  • Multi-row – liefert mindestens zwei Zeilen.
  • Multi-column – liefert mindestens zwei Spalten.
  • Correlated – eine Subquery, die Informationen aus der äußeren Query verwendet.
  • Nested – eine Subquery innerhalb einer Subquery.

16. Was ist ein Constraint und warum setzt man Constraints ein?

Eine Menge von Bedingungen, die definieren, welche Daten in eine Spalte eingegeben werden dürfen. Constraints sichern die Datenintegrität und verhindern unerwünschte Aktionen.

17. Welche SQL-Constraints kennst du?

  • DEFAULT – legt einen Standardwert für eine Spalte fest.

  • UNIQUE – erlaubt nur eindeutige Werte.

  • NOT NULL – erlaubt nur Nicht-NULL-Werte.

  • PRIMARY KEY – erlaubt nur eindeutige und strikt nicht-leere Werte (NOT NULL und UNIQUE).

  • FOREIGN KEY – verknüpft Tabellen über gemeinsame Schlüssel.

18. Welche Join-Typen kennst du?

  • (INNER) JOIN – liefert nur Datensätze, die die Join-Bedingung in beiden (allen) Tabellen erfüllen. Standard-Join in SQL.

  • LEFT (OUTER) JOIN – alle Datensätze aus der linken Tabelle und passende aus der rechten.

  • RIGHT (OUTER) JOIN – alle Datensätze aus der rechten Tabelle und passende aus der linken.

  • FULL (OUTER) JOIN – alle Datensätze aus beiden (allen) Tabellen. Im Grunde die Kombination aus Left und Right Join.

Hinweis: FULL OUTER JOIN wird von PostgreSQL, SQL Server, Oracle und MySQL 8.0+ unterstützt, in MySQL jedoch nur über UNION-Muster. SQLite unterstützt keinen RIGHT JOIN – er lässt sich über LEFT JOIN plus UNION emulieren.

19. Was ist ein Primärschlüssel in SQL?

Eine Spalte (oder mehrere Spalten), auf die das Constraint PRIMARY KEY angewendet wurde, um eindeutige und nicht-leere Werte sicherzustellen. Anders gesagt: Ein Primary Key kombiniert NOT NULL und UNIQUE. Der Primärschlüssel identifiziert jeden Datensatz eindeutig.

Verwandtes Konzept — Surrogatschlüssel: Ein Surrogatschlüssel ist ein künstlich erzeugter Bezeichner (typisch eine fortlaufende Zahl oder UUID), unabhängig von den fachlichen Werten. Im Gegensatz zu natürlichen Schlüsseln (z. B. E-Mail-Adresse) bleibt er stabil, wenn sich Geschäftsdaten ändern, und wird daher häufig als Primärschlüssel in Produktivdatenbanken genutzt.

 Pro Tabelle kann höchstens ein PRIMARY KEY definiert werden (auch zusammengesetzt). Ein PRIMARY KEY ist dringend zu empfehlen, aber nicht in allen Engines zwingend.

20. Was ist ein Unique Key in SQL?

Eine Spalte (oder mehrere Spalten), auf die das Constraint UNIQUE angewendet wurde, um eindeutige Werte sicherzustellen – inklusive eines möglichen NULL-Werts (genau eines).

Hinweis

  • SQL Server: Nur ein NULL erlaubt, außer mit gefiltertem Index.
  • PostgreSQL / Oracle / MySQL: Mehrere NULL-Werte zulässig, da NULL <> NULL.

21. Was ist ein Fremdschlüssel in SQL? 

Eine Spalte (oder mehrere Spalten), auf die das Constraint FOREIGN KEY (oder ein UNIQUE Key) angewendet wurde, um sie mit dem Primärschlüssel einer anderen Tabelle (oder mehrerer Tabellen) zu verknüpfen. Fremdschlüssel halten Tabellen einer Datenbank logisch zusammen.

22. Was ist ein SQL-Index?

Eine spezielle Datenstruktur zu einer Tabelle, in der wichtige Teile gespeichert werden, um Suchen und Abrufe zu beschleunigen. Besonders in großen Datenbanken steigern Indexe die Abfrageleistung deutlich.

23. Welche Index-Typen kennst du?

  • Unique Index – verhindert Duplikate in einer Spalte und sichert damit Datenintegrität.
  • Clustered Index – bestimmt die physische Reihenfolge der Datensätze und sucht nach Schlüsselwerten. Pro Tabelle nur einmal möglich.
  • Non-Clustered Index – hält eine eigene Sortierung unabhängig von der physischen Ablage auf dem Datenträger. Daten und Index liegen getrennt. Mehrere pro Tabelle möglich.

24. Was ist ein Schema?

Eine Sammlung struktureller Elemente wie Tabellen, Stored Procedures, Indexe, Funktionen und Trigger. Es zeigt die Gesamtarchitektur, legt Beziehungen fest und definiert Zugriffsrechte. Lies unseren Leitfaden zu Datenbankschemata für Details.

25. Was ist ein SQL-Operator?

Ein reserviertes Zeichen, eine Zeichenkombination oder ein Schlüsselwort, das in Abfragen eine bestimmte Operation ausführt. Häufig mit der WHERE-Klausel genutzt, um Filterbedingungen festzulegen.

26. Welche Typen von SQL-Operatoren kennst du?

  • Arithmetisch (+, -, *, / usw.)

  • Vergleich (>, <, =, >= usw.)

  • Zusammengesetzt (+=, -=, *=, /= usw.)

  • Logisch (AND, OR, NOT, BETWEEN usw.)

  • String (%, _, +, ^ usw.)

  • Mengen (UNION, UNION ALL, INTERSECT und MINUS (bzw. EXCEPT))

27. Was ist eine Klausel?

Eine Bedingung, die auf eine SQL-Abfrage angewendet wird, um die gewünschten Ergebnisse zu filtern. Beispiele: WHERE, LIMIT, HAVING, LIKE, AND, OR, ORDER BY usw.

28. Welche Statements werden häufig mit SELECT verwendet?

Am häufigsten: FROM, GROUP BY, JOIN, WHERE, ORDER BY, LIMIT und HAVING.

29. Wie erstellst du eine Tabelle in SQL?

Mit dem Statement CREATE TABLE. Beispiel für drei Spalten mit vordefinierten Datentypen:

CREATE TABLE table_name (col_1 datatype,
                         col_2 datatype,
                         col_3 datatype);

30. Wie aktualisierst du eine Tabelle?

Mit UPDATE. Syntax:

UPDATE table_name
SET col_1 = value_1, col_2 = value_2
WHERE condition;

31. Wie löschst du eine Tabelle aus der Datenbank?

Mit DROP TABLE. Syntax: DROP TABLE table_name;.

32. Wie ermittelst du die Anzahl der Datensätze in einer Tabelle?

Mit der Aggregatfunktion COUNT() und Stern: SELECT COUNT(*) FROM table_name;.

33. Wie sortierst du Datensätze in einer Tabelle?

Mit ORDER BY:

SELECT * FROM table_name
ORDER BY col_1;

Für absteigend nutze DESC, sonst ist die Sortierung standardmäßig aufsteigend. Du kannst nach mehreren Spalten sortieren und je Spalte ASC/DESC festlegen. Beispiel:

SELECT * FROM table_name
ORDER BY col_1 DESC, col_3, col_6 DESC;

34. Wie wählst du alle Spalten aus einer Tabelle aus?

Mit dem Stern * in SELECT. Syntax: SELECT * FROM table_name;.

35. Wie selektierst du gemeinsame Datensätze aus zwei Tabellen?

Mit INTERSECT:

SELECT col1, col2 FROM table_1
INTERSECT
SELECT col1, col2 FROM table_2;

Hinweis: INTERSECT erfordert die gleiche Spaltenanzahl und kompatible Typen.

36. Was macht DISTINCT und wie nutzt man es?

Mit SELECT verwendet, filtert DISTINCT Duplikate heraus und liefert eindeutige Werte einer Spalte. Syntax:

SELECT DISTINCT col_1
FROM table_name;

37. Was sind Beziehungen? Nenne Beispiele.

Beziehungen sind Verknüpfungen zwischen Entitäten, also wie zwei oder mehr Tabellen zusammenhängen. Beispiel: Die ID desselben Kunden findet sich sowohl in einer Verkaufstabelle als auch in einer Kundentabelle.

38. Was ist ein NULL-Wert? Wie unterscheidet er sich von Null oder Leerzeichen?

Ein NULL-Wert steht für fehlende/unbekannte Daten in einer Tabellenzelle. Null ist dagegen ein gültiger numerischer Wert, ein leerer String ist eine legale Zeichenfolge der Länge 0.

39. Worin unterscheiden sich SQL und NoSQL?

SQL-Datenbanken sind relational, strukturiert und nutzen Tabellen mit vordefinierten Schemata. NoSQL-Datenbanken sind nicht relational, schemafrei und für unstrukturierte oder semi-strukturierte Daten ausgelegt.

40. Welche typischen Herausforderungen gibt es bei der Arbeit mit SQL-Datenbanken?

Dazu gehören Performance-Tuning für große Datenmengen, Indexstrategien, Sicherung der Datenintegrität via Constraints, Umgang mit parallelen Transaktionen und das Optimieren der Ausführungspläne.

SQL-Interviewfragen für Fortgeschrittene

41. Was ist ein Common Table Expression (CTE)?

Ein Common Table Expression (CTE) ist ein temporäres, benanntes Resultset, auf das du innerhalb eines SELECT-, INSERT-, UPDATE- oder DELETE-Statements verweisen kannst. CTEs verbessern die Lesbarkeit und zerlegen komplexe Abfragen in einfachere, wiederverwendbare Teile. Die Syntax nutzt das Schlüsselwort WITH:

WITH sales_summary AS (
  SELECT product_id, SUM(amount) AS total_sales
  FROM sales
  GROUP BY product_id
)
SELECT p.product_name, s.total_sales
FROM products p
JOIN sales_summary s ON p.id = s.product_id
WHERE s.total_sales > 10000;

CTEs sind besonders nützlich für rekursive Abfragen (hierarchische Daten wie Organigramme) und wenn dieselbe Subquery mehrfach referenziert wird.

42. Was sind Window Functions und wie unterscheiden sie sich von Aggregatfunktionen?

Window Functions führen Berechnungen über einen Zeilensatz im Bezug zur aktuellen Zeile aus, ohne das Ergebnis auf eine einzelne Zeile zu verdichten (wie Aggregatfunktionen). Sie verwenden die OVER()-Klausel zur Definition des Fensters.

Wichtige Window Functions:

  • ROW_NUMBER() – vergibt fortlaufende eindeutige Nummern
  • RANK() – vergibt Ränge mit Lücken bei Ties
  • DENSE_RANK() – vergibt Ränge ohne Lücken bei Ties
  • LAG() / LEAD() – greift auf Werte der Vor-/Folgezeile zu
  • SUM() OVER(), AVG() OVER() – laufende/kumulative Berechnungen

Beispiel: Laufende Verkaufssumme berechnen

SELECT 
  order_date,
  amount,
  SUM(amount) OVER (ORDER BY order_date) AS running_total
FROM orders;

43. Was ist der Unterschied zwischen RANK(), DENSE_RANK() und ROW_NUMBER()?

Alle drei sind Ranking-Window-Functions, gehen aber unterschiedlich mit Ties um:

  • ROW_NUMBER() – vergibt immer eindeutige fortlaufende Nummern (1, 2, 3, 4 ...), auch bei Ties
  • RANK() – vergibt bei Ties denselben Rang und überspringt Nummern (1, 2, 2, 4 ...)
  • DENSE_RANK() – vergibt bei Ties denselben Rang ohne Lücken (1, 2, 2, 3 ...)
SELECT 
  name, 
  score,
  ROW_NUMBER() OVER (ORDER BY score DESC) AS row_num,
  RANK() OVER (ORDER BY score DESC) AS rank,
  DENSE_RANK() OVER (ORDER BY score DESC) AS dense_rank
FROM students;

Nutze DENSE_RANK() für „n.-höchster Wert“, wenn Ties dieselbe Position teilen sollen.

In diesem Abschnitt findest du beliebte Fragen im mittleren Schwierigkeitsgrad – so weißt du, was dich erwartet.

44. Was ist eine Funktion in SQL?

Ein Datenbankobjekt, das eine Menge SQL-Statements für eine häufige Aufgabe kapselt. Eine Funktion nimmt Eingabeparameter, führt Berechnungen/Transformationen aus und gibt einen Wert zurück. Funktionen verbessern Lesbarkeit und vermeiden Wiederholungen.

45. Welche Arten von SQL-Funktionen kennst du?

  • Aggregatfunktionen – arbeiten über mehrere (meist gruppierte) Datensätze einer Spalte und liefern einen einzelnen Wert (oft je Gruppe).
  • Skalarfunktionen – arbeiten pro Einzelwert und liefern einen einzelnen Wert.

Funktionen können systemseitig (built-in) oder benutzerdefiniert sein.

46. Welche SQL-Aggregatfunktionen kennst du?

  • AVG() – Durchschnitt

  • SUM() – Summe

  • MIN() – Minimum

  • MAX() – Maximum

  • COUNT() – Anzahl Zeilen, inkl. solcher mit NULL

47. Welche SQL-Skalarfunktionen kennst du?

  • LEN() (in anderen Dialekten – LENGTH()) – Länge eines Strings inkl. Leerzeichen

  • UCASE() (in anderen Dialekten – UPPER()) – in Großbuchstaben

  • LCASE() (in anderen Dialekten – LOWER()) – in Kleinbuchstaben

  • INITCAP() – Titelgroßschreibung (jedes Wort beginnt groß)

  • MID() (in anderen Dialekten – SUBSTR()) – Teilstring extrahieren

  • ROUND() – numerischen Wert auf x Dezimalstellen runden

  • NOW() – aktuelles Datum und Uhrzeit

48. Was sind Case-Manipulationsfunktionen in SQL?

Eine Teilmenge der Zeichenfunktionen zum Ändern der Groß-/Kleinschreibung: in Groß-, Klein- oder Titelgroßschreibung umwandeln.

  • UCASE() (in anderen Dialekten – UPPER()) – in Großbuchstaben

  • LCASE() (in anderen Dialekten – LOWER()) – in Kleinbuchstaben

  • INITCAP() – Titelgroßschreibung

49. Was sind Zeichenmanipulationsfunktionen in SQL?

Eine weitere Teilmenge von Zeichenfunktionen – sie verändern Textdaten.

  • CONCAT() – Strings zusammenfügen

  • SUBSTRING()/SUBSTR() – Teil eines Strings anhand Start/Ende

  • LENGTH() (in anderen Dialekten – LEN()) – Länge inkl. Leerzeichen

  • REPLACE() – Ersetzungen eines Teilstrings im String

  • INSTR() – Position eines Teilstrings im String

  • LPAD() und RPAD() – Auffüllen links/rechts für Justierung

  • TRIM() – Entfernen definierter Zeichen/Leerzeichen links, rechts oder beidseitig

50. Was ist der Unterschied zwischen lokalen und globalen Variablen?

Lokale Variablen sind nur innerhalb der Funktion sichtbar, in der sie deklariert wurden. Globale Variablen werden außerhalb deklariert, im festen Speicher gehalten und sind im gesamten Programm nutzbar.

51. Was ist der Unterschied zwischen SQL und PL/SQL?

SQL ist eine Standardsprache zum Abfragen und Verwalten relationaler Datenbanken, primär für Datenmanipulation und -abruf. PL/SQL (Procedural Language/SQL) ist eine Erweiterung von SQL für Oracle-Datenbanken mit prozeduralen Konstrukten wie Schleifen, Bedingungen und Exception Handling – damit lässt sich komplexe Logik direkt in der Datenbank implementieren. Einen Überblick gibt es in unserem Artikel zu Top 20 PL/SQL Interview Questions and Answers, ideal, wenn du zu Oracle befragt wirst. 

52. Was ist der Unterschied zwischen LEFT JOIN und LEFT OUTER JOIN?

Es gibt keinen Unterschied zwischen LEFT JOIN und LEFT OUTER JOIN. Beide sind austauschbar. Das Schlüsselwort OUTER ist optional, LEFT JOIN ist nur die Kurzform. Beide liefern alle Datensätze aus der linken Tabelle plus passende aus der rechten.

53. Was ist Indexierung in SQL und wie verbessert sie die Performance?

Indexierung erzeugt eine spezielle Datenstruktur, mit der die Datenbank Zeilen effizienter findet. Sie wirkt wie eine optimierte Nachschlagetabelle und reduziert Full Table Scans. Zu viele Indexe können jedoch INSERT/UPDATE/DELETE verlangsamen, da Indexe gepflegt werden müssen.

54. Was ist eine Stored Procedure und wie unterscheidet sie sich von einer Funktion?

Eine Stored Procedure ist ein vorkompiliertes Set aus SQL-Statements, das als Einheit ausgeführt wird. Procedures können Daten oder Schemaobjekte ändern, Transaktionen steuern und null bis mehrere Resultsets zurückgeben. Funktionen werden typischerweise in Ausdrücken verwendet, müssen einen Wert (skalar oder tabellarisch) zurückgeben und sind in vielen Datenbanken in Seiteneffekten eingeschränkt. Details variieren je DB (z. B. T-SQL mit skalaren/Tabellenfunktionen; PostgreSQL unterscheidet zwischen Funktionen und Procedures).

55. Wie ist die Standardsortierung bei ORDER BY und wie änderst du sie?

Standard ist aufsteigend (NULLS FIRST/LAST variiert je DB). Verwende je Spalte ASC/DESC, z. B.:

SELECT * FROM table_name 
ORDER BY col_1 DESC;

56. Was sind SQL-Mengenoperatoren?

  • UNION – liefert Datensätze aus mindestens einer von zwei Abfragen (ohne Duplikate)

  • UNION ALL – wie UNION, aber mit Duplikaten

  • INTERSECT – liefert gemeinsame Datensätze beider Abfragen

  • EXCEPT (in MySQL und Oracle MINUS) – Datensätze, die nur in der ersten, nicht in der zweiten Abfrage vorkommen

57. Welcher Operator dient zum Musterabgleich?

Der Operator LIKE mit den Wildcards % und _. % steht für beliebig viele Zeichen (inkl. 0), _ für genau ein Zeichen.

58. Was ist der Unterschied zwischen Primärschlüssel und Unique Key?

Beide erzwingen Eindeutigkeit in einer Spalte. Der Primärschlüssel identifiziert jeden Datensatz eindeutig; der Unique Key verhindert lediglich Duplikate in dieser Spalte.

59. Was ist ein zusammengesetzter Primärschlüssel?

Ein Primärschlüssel, der aus mehreren Spalten besteht.

60. Wie ist die typische Reihenfolge der SQL-Klauseln in einem SELECT?

SELECTFROMJOINONWHEREGROUP BYHAVINGORDER BYLIMIT

61. In welcher Reihenfolge interpretiert die Engine die üblichen SELECT-Bestandteile?

Hier ist die SQL-Ausführungsreihenfolge

FROMONJOINWHEREGROUP BYHAVINGSELECTORDER BYLIMIT/OFFSET (FETCH)

62. Was ist eine View in SQL?

Eine virtuelle Tabelle, die einen Datenausschnitt aus einer oder mehreren Tabellen (oder Views) enthält. Standard-Views speichern keine Daten; materialisierte Views schon. Views vereinfachen Abfragen, kapseln Logik und können via Berechtigungen Spalten/Zeilen beschränken. Sie können Daten aus mehreren Tabellen zusammenführen/aggregieren.

63. Kann man eine View auf Basis einer anderen View erstellen?

Ja, das nennt sich verschachtelte Views. Zu viele Ebenen sollte man jedoch vermeiden – der Code wird unübersichtlich und schwer zu debuggen.

64. Kann eine View weiter genutzt werden, wenn die Basistabelle gelöscht wurde?

Nein. Sie wird ungültig. Ein Nutzungsversuch führt zu einer Fehlermeldung.

65. Welche Typen von SQL-Beziehungen kennst du?

  • One-to-one – jeder Datensatz entspricht genau einem Datensatz in der anderen Tabelle
  • One-to-many – ein Datensatz entspricht mehreren in der anderen Tabelle
  • Many-to-many – Datensätze beider Tabellen stehen in mehreren Beziehungen

66. Welche möglichen Werte hat ein BOOLEAN-Feld?

In manchen Dialekten (z. B. PostgreSQL) gibt es BOOLEAN explizit: TRUE, FALSE oder NULL. In anderen (z. B. SQL Server) wird der Typ BIT genutzt – gespeichert als 1 (wahr) oder 0 (falsch).

67. Was ist Normalisierung in SQL?

Ein Designprozess, der Daten so organisiert, dass Redundanzen, Abhängigkeiten, Duplikate und Inkonsistenzen reduziert werden. Ergebnis: höhere Datenintegrität, mehr (sauberere) Tabellen, effizienterer Zugriff und flexiblere Abfragen.

68. Was ist Denormalisierung in SQL?

Denormalisierung ist das Gegenteil: Sie führt Redundanz ein und kombiniert Daten aus mehreren Tabellen. Sie optimiert die Performance, wenn Lesezugriffe wichtiger sind als Schreibzugriffe – komplexe Joins entfallen, Abfragen laufen schneller.

69. Unterschied: Spalte umbenennen vs. Alias vergeben?

Umbenennen ändert den tatsächlichen Spaltennamen dauerhaft. Ein Alias vergibt temporär einen Namen in einer Query, um Lesbarkeit und Kürze zu erhöhen.

70. Unterschied: verschachtelte vs. korrelierte Subqueries?

Eine korrelierte Subquery nutzt Werte aus der äußeren Query und ist von ihr abhängig. Eine nicht-korrelierte Subquery kann unabhängig ausgeführt werden.

71. Unterschied: Clustered vs. Non-Clustered Index?

Ein Clustered Index bestimmt die physische Reihenfolge der Datensätze und sucht über Schlüsselwerte. Ein Non-Clustered Index hält eine eigene Ordnung, die nicht der physischen entspricht. Es gibt nur einen Clustered, aber viele Non-Clustered Indexe je Tabelle.

72. Was ist die Funktion CASE()?

Die SQL-Variante von if-then-else. Bedingungen in WHEN werden der Reihe nach geprüft; beim ersten Treffer wird der zugehörige THEN-Wert zurückgegeben. Wenn keine Bedingung zutrifft, liefert ELSE (falls vorhanden) den Rückgabewert, sonst NULL. Syntax:

CASE
    WHEN condition_1 THEN value_1
    WHEN condition_2 THEN value_2
    WHEN condition_3 THEN value_3
    ...
    ELSE value
END;

73. Unterschied zwischen DELETE und TRUNCATE?

DELETE ist ein DML-Befehl, der eine oder mehrere Zeilen anhand einer WHERE-Bedingung entfernt. Rückgängig nur im Rahmen einer Transaktion (via ROLLBACK).

TRUNCATE ist DDL, entfernt alle Zeilen durch Deallokation von Seiten. Schneller, in der Regel irreversibel, und nicht auf Tabellen zulässig, die per Foreign Key referenziert werden.

74. Unterschied zwischen DROP und TRUNCATE?

DROP löscht eine Tabelle inklusive Struktur, Constraints, Beziehungen und Berechtigungen vollständig. TRUNCATE löscht alle Zeilen, lässt Struktur und Constraints bestehen.  Beides ist DDL. DROP entfernt Tabelle plus Metadaten; TRUNCATE leert nur die Daten. Performance und Transaktionsverhalten hängen von der Engine ab.

75. Unterschied zwischen HAVING und WHERE?

HAVING wirkt auf aggregierte, gruppierte Daten; WHERE prüft jede Zeile einzeln. Bei gemeinsamem Einsatz gilt die Reihenfolge:WHEREGROUP BYHAVING. Die Engine interpretiert sie auch in dieser Reihenfolge.

76. Wie fügst du einen Datensatz hinzu?

Mit INSERT INTO und VALUES. Syntax:

INSERT INTO table_name
VALUES (value_1, value_2, ...);

77. Wie löschst du einen Datensatz?

Mit DELETE. Syntax:

DELETE FROM table_name
WHERE condition;

So können auch mehrere Datensätze gelöscht werden, sofern sie die Bedingung erfüllen.

78. Wie fügst du eine Spalte hinzu?

Mit ALTER TABLE und ADD. Syntax:

ALTER TABLE table_name
ADD column_name datatype;

79. Wie benennst du eine Spalte um?

Mit ALTER TABLE und RENAME COLUMN ... TO .... Syntax:

ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;

80. Wie löschst du eine Spalte?

Mit ALTER TABLE und DROP COLUMN. Syntax:

ALTER TABLE table_name
DROP COLUMN column_name;

81. Wie wählst du alle geraden oder ungeraden Datensätze aus?

Über den Rest bei Division durch 2. In einigen Dialekten (z. B. PostgreSQL, MySQL) mit MOD, in anderen (SQL Server, SQLite) mit dem Modulo-Operator (%). Für gerade Datensätze via MOD:

SELECT * FROM table_name
WHERE MOD(ID_column, 2) = 0;

Für gerade Datensätze via %:

SELECT * FROM table_name 
WHERE ID_column % 2 = 0;

Für ungerade entsprechend mit <> statt =.

82. Wie vermeidest du Duplikate bei einer Abfrage?

Mit DISTINCT in Kombination mit SELECT oder durch einen Unique Key auf der Tabelle.

83. Wie fügst du mehrere Zeilen ein?

Mit INSERT INTO und VALUES. Syntax:

INSERT INTO table_name
VALUES (value_1, value_2, ...),
      (value_3, value_4, ...),
      (value_5, value_6, ...),
      ...;

84. Wie findest du den n.-höchsten Wert in einer Spalte?

Mit Window Functions, um Ties korrekt zu behandeln:

SELECT column_name
FROM (
  SELECT column_name, DENSE_RANK() OVER (ORDER BY column_name DESC) AS rnk
  FROM table_name
) t
WHERE rnk = :n;

Für die n.-te Zeile nach Reihenfolge (Ties ignoriert): ORDER BY column_name DESC OFFSET n-1 ROWS FETCH NEXT 1 ROW ONLY.

85. Wie findest du Werte in einer Textspalte, die mit einem bestimmten Buchstaben beginnen?

Mit LIKE plus % und _. Beispiel: Alle Nachnamen, die mit „A“ beginnen:

SELECT * FROM table_name
WHERE surname LIKE 'A_';

Wenn Nachnamen auch nur „A“ sein dürfen, dann:

SELECT * FROM table_name
WHERE surname LIKE 'A%';

86. Wie findest du die letzte ID in einer Tabelle?

Am einfachsten mit der Aggregatfunktion MAX().

SELECT MAX(id) AS highest_id
FROM table_name;

Oder via ORDER BY mit LIMIT bzw. TOP

SELECT id
FROM table_name
ORDER BY id DESC
LIMIT 1;

87. Wie wählst du zufällige Zeilen aus?

Mit RAND() plus ORDER BY und LIMIT. In einigen Dialekten (z. B. PostgreSQL) heißt es RANDOM(). Beispiel (MySQL):

SELECT * FROM table_name
ORDER BY RAND()
LIMIT 5;

Szenariobasierte SQL-Interviewfragen

Szenariobasierte Fragen testen deine Fähigkeit, reale Businessprobleme mit SQL zu lösen. So geht es nicht nur um Syntax, sondern um deinen Ansatz und den Umgang mit Sonderfällen wie Duplikaten, NULLs und Ties.

88. Wie findest und entfernst du Duplikate?

Duplikate finden:

SELECT email, COUNT(*) AS duplicate_count
FROM users
GROUP BY email
HAVING COUNT(*) > 1;

Duplikate entfernen (einen Eintrag behalten):

WITH duplicates AS (
  SELECT id, 
         ROW_NUMBER() OVER (PARTITION BY email ORDER BY id) AS rn
  FROM users
)
DELETE FROM users 
WHERE id IN (SELECT id FROM duplicates WHERE rn > 1);

Hier identifiziert eine CTE mit ROW_NUMBER() Duplikate; der Datensatz mit der kleinsten ID bleibt.

89. Wie berechnest du eine laufende Summe?

Mit der SUM()-Window-Function und ORDER BY:

SELECT 
  transaction_date,
  amount,
  SUM(amount) OVER (ORDER BY transaction_date) AS running_total
FROM transactions;

Pro Kategorie (z. B. pro Kunde):

SELECT 
  customer_id,
  transaction_date,
  amount,
  SUM(amount) OVER (
    PARTITION BY customer_id 
    ORDER BY transaction_date
  ) AS customer_running_total
FROM transactions;

90. Wie findest du Mitarbeitende, die mehr als den Durchschnitt ihres Bereichs verdienen?

Ein Klassiker mit korrelierter Subquery:

SELECT e.name, e.department, e.salary
FROM employees e
WHERE e.salary > (
  SELECT AVG(salary) 
  FROM employees 
  WHERE department = e.department
);

Alternativ per Window Function:

SELECT name, department, salary
FROM (
  SELECT 
    name, 
    department, 
    salary,
    AVG(salary) OVER (PARTITION BY department) AS dept_avg
  FROM employees
) t
WHERE salary > dept_avg;

91. Wie findest du Lücken in einer Zahlenfolge (z. B. fehlende Rechnungsnummern)?

Mit LEAD() jeden Wert mit dem nächsten vergleichen:

SELECT 
  invoice_number,
  LEAD(invoice_number) OVER (ORDER BY invoice_number) AS next_invoice,
  LEAD(invoice_number) OVER (ORDER BY invoice_number) - invoice_number - 1 AS gap_size
FROM invoices
WHERE LEAD(invoice_number) OVER (ORDER BY invoice_number) - invoice_number > 1;

So siehst du, wo der Abstand größer als 1 ist.

92. Wie findest du Kundinnen/Kunden mit Käufen in aufeinanderfolgenden Monaten?

Mit LAG() den Vormonat vergleichen:

WITH monthly_purchases AS (
  SELECT 
    customer_id,
    DATE_TRUNC('month', purchase_date) AS purchase_month,
    LAG(DATE_TRUNC('month', purchase_date)) OVER (
      PARTITION BY customer_id 
      ORDER BY DATE_TRUNC('month', purchase_date)
    ) AS prev_month
  FROM purchases
  GROUP BY customer_id, DATE_TRUNC('month', purchase_date)
)
SELECT DISTINCT customer_id
FROM monthly_purchases
WHERE purchase_month = prev_month + INTERVAL '1 month';

93. Wie pivotierst du Daten von Zeilen zu Spalten?

Mit bedingter Aggregation und CASE:

SELECT 
  product_name,
  SUM(CASE WHEN EXTRACT(MONTH FROM sale_date) = 1 THEN amount ELSE 0 END) AS jan_sales,
  SUM(CASE WHEN EXTRACT(MONTH FROM sale_date) = 2 THEN amount ELSE 0 END) AS feb_sales,
  SUM(CASE WHEN EXTRACT(MONTH FROM sale_date) = 3 THEN amount ELSE 0 END) AS mar_sales
FROM sales
GROUP BY product_name;

Einige Datenbanken (SQL Server, Oracle) bieten eine native PIVOT-Syntax.

94. Wie findest du die Top 3 Produkte nach Umsatz je Kategorie?

Mit DENSE_RANK() und PARTITION BY:

WITH ranked_products AS (
  SELECT 
    category,
    product_name,
    SUM(sales_amount) AS total_sales,
    DENSE_RANK() OVER (
      PARTITION BY category 
      ORDER BY SUM(sales_amount) DESC
    ) AS sales_rank
  FROM sales
  GROUP BY category, product_name
)
SELECT category, product_name, total_sales
FROM ranked_products
WHERE sales_rank <= 3
ORDER BY category, sales_rank;

95. Was sind die ACID-Eigenschaften von Transaktionen?

ACID steht für vier Schlüsseleigenschaften verlässlicher Transaktionen:

  • Atomicity: „Alles oder nichts“ – entweder alle Operationen erfolgreich, oder keine
  • Consistency: Bringt die DB von einem gültigen Zustand in den nächsten und wahrt Regeln/Constraints
  • Isolation: Parallele Transaktionen stören sich nicht; jede sieht einen konsistenten Datenstand
  • Durability: Nach COMMIT bleiben Änderungen auch bei Absturz erhalten

Beispieltransaktion:

BEGIN TRANSACTION;

UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;

COMMIT;

96. Was ist ein Deadlock und wie vermeidest du ihn?

Ein Deadlock entsteht, wenn zwei oder mehr Transaktionen aufeinander warten, weil sie gegenseitig Sperren halten – ein Kreis, der niemanden weiterlässt.

Beispiel: Transaktion A sperrt Tabelle X und wartet auf Y, Transaktion B sperrt Y und wartet auf X.

Vermeidung:

  • Konsistente Sperrreihenfolge: Sperren in allen Transaktionen in derselben Reihenfolge anfordern
  • Transaktionen kurz halten: Schnell committen/rollbacken
  • Passende Isolation: Niedrigere Stufen verringern Lock-Contention
  • Nur nötige Daten sperren: Unnötige Zeilen vermeiden
  • Retry-Handling: Viele DBs erkennen Deadlocks automatisch und rollen eine Transaktion zurück

97. Wie optimierst du eine langsam laufende Query?

Wichtige Ansätze:

  • Geeignete Indexe: Auf Spalten in WHERE, JOIN, ORDER BY

  • Ausführungspläne analysieren: EXPLAIN (PostgreSQL/MySQL) oder EXPLAIN PLAN (Oracle)

  • SELECT * vermeiden: Nur benötigte Spalten abrufen

  • JOINs statt Subqueries: Oft effizienter als korrelierte Subqueries

  • Ergebnis begrenzen: LIMIT/TOP nutzen, wenn nicht alle Zeilen nötig sind

  • Keine Funktionen auf indizierten Spalten: WHERE YEAR(date_col) = 2026 nutzt keinen Index; besser WHERE date_col >= '2026-01-01'

  • Partitionierung erwägen: Bei sehr großen Tabellen z. B. nach Datum/Kategorie

98. Wie gehst du mit NULLs in Berechnungen und Vergleichen um?

NULL steht für fehlende/unbekannte Daten und erfordert besondere Behandlung:

  • Vergleiche: IS NULL oder IS NOT NULL statt = NULL

  • COALESCE(): Erster Nicht-NULL-Wert: COALESCE(column, 'default')

  • NULLIF(): Gibt NULL zurück, wenn zwei Werte gleich sind: NULLIF(a, b)

  • ISNULL() / NVL(): DB-spezifische Funktionen zum Ersetzen von NULL

SELECT 
  name,
  COALESCE(phone, email, 'No contact') AS contact_info,
  CASE WHEN status IS NULL THEN 'Unknown' ELSE status END AS status
FROM customers;

99. Wie findest du die längste Serie an aufeinanderfolgenden Login-Tagen pro Nutzer?

Ein fortgeschrittenes „Islands-and-Gaps“-Problem:

WITH login_groups AS (
  SELECT 
    user_id,
    login_date,
    login_date - ROW_NUMBER() OVER (
      PARTITION BY user_id 
      ORDER BY login_date
    ) * INTERVAL '1 day' AS group_id
  FROM user_logins
)
SELECT 
  user_id,
  MIN(login_date) AS streak_start,
  MAX(login_date) AS streak_end,
  COUNT(*) AS streak_length
FROM login_groups
GROUP BY user_id, group_id
ORDER BY streak_length DESC
LIMIT 1;

Der Trick: Von jedem Datum die Zeilennummer abziehen – fortlaufende Daten ergeben dieselbe „group_id“.

Dein Team mit SQL weiterbilden

SQL-Interviewvorbereitung ist wichtig für Bewerbende und Hiring Manager. Genauso wichtig ist es für Unternehmen, kontinuierlich in SQL-Weiterbildung zu investieren. Datenkompetenz ist entscheidend – starke SQL-Kompetenzen im Team können zum Erfolgsfaktor werden.

Wenn du als Teamlead oder Unternehmer(in) dein gesamtes Team in SQL fit machen willst, bietet DataCamp for Business maßgeschneiderte Trainings – von Grundlagen bis zu fortgeschrittenen Konzepten. Wir liefern:

  • Zielgerichtete Lernpfade: Anpassbar an Skill-Level und Business-Bedarf deines Teams.
  • Hands-on-Übungen: Reale Szenarien und Aufgaben, die Lernen festigen.
  • Fortschritts-Tracking: Tools zur Erfolgsmessung und Zielerreichung.

Die Investition in SQL-Weiterbildung über Plattformen wie DataCamp stärkt die Fähigkeiten deines Teams und verschafft deinem Unternehmen einen strategischen Vorteil – so bleibst du wettbewerbsfähig und lieferst Ergebnisse. Sprich mit uns und fordere heute eine Demo an

Fazit

Wir haben 99 essenzielle SQL-Interviewfragen für Einsteiger, Fortgeschrittene und Szenarien durchgegangen – inklusive passender Antworten. Hoffentlich hilft dir das, dich vorzubereiten und sicher aufzutreten, egal ob du einen SQL-Job suchst oder für eine Intermediate-SQL-Rolle rekrutierst.

Wenn du noch mehr üben willst, sieh dir unsere vollständige Liste an SQL-Kursen an:

Verbessere die SQL-Kenntnisse deines Teams

Trainiere dein Team in SQL mit DataCamp for Business. Umfassende Schulungen, praktische Projekte und detaillierte Leistungskennzahlen für dein Unternehmen.

Fordere noch heute eine Demo an!
business-homepage-hero.png

FAQs

Wie kann ich mit SQL lernen beginnen?

Starte mit den Grundlagen zu Datenbanken und relationalen Systemen. DataCamp bietet viele Einstiegsressourcen wie den Kurs Introduction to SQL, den Data Analyst in SQL Career Track und das SQL Cheat Sheet. Alternativ findest du auf der Seite SQL courses alle Angebote.

Wo finde ich reale SQL-Probleme zum Üben?

Auf der DataCamp-Plattform findest du zahlreiche SQL-Projekte für alle Erfahrungsstufen, um deine Fähigkeiten an realen Aufgaben zu schärfen.

Was sind typische SQL-Interviewfragen für Einsteiger?

Einsteiger werden häufig zu grundlegenden Konzepten gefragt, z. B. zum Unterschied zwischen SELECT und INSERT, zum Zweck von Schlüsseln (Primary Keys und Foreign Keys) und zu einfachen Abfragen für eine einzelne Tabelle mit Bedingungen (WHERE).

Was sind typische SQL-Interviewfragen für Fortgeschrittene?

Fortgeschrittene müssen oft komplexere Themen beherrschen, etwa Joins (INNER, LEFT, RIGHT, FULL), Subqueries, Aggregationen und Gruppierungen (GROUP BY) sowie Mengenoperationen wie UNION, INTERSECT und EXCEPT. Häufig werden auch Aufgaben zur Abfrageoptimierung gestellt.

Wie bereite ich mich auf ein SQL-Interview vor?

Zur Vorbereitung auf ein SQL-Interview solltest du:

  • SQL-Grundlagen und fortgeschrittene Konzepte wiederholen.
  • Abfragen schreiben und typische Aufgaben lösen.
  • Datenbankdesign und Normalisierung verstehen.
  • Dich mit dem spezifischen SQL-Dialekt des Arbeitgebers vertraut machen (z. B. PostgreSQL, MySQL, SQL Server).
  • Beispiel-Interviewfragen und -aufgaben online durchgehen.

Was erwartet mich in einem technischen SQL-Interview und wie zeige ich am besten meine Fähigkeiten?

In einem technischen SQL-Interview erwarten dich Fragen zu Syntax, Datenbankdesign, Query-Optimierung und Problemlösung mit SQL. So zeigst du deine Stärke:

  • Erkläre deinen Denkprozess beim Lösen von SQL-Problemen.
  • Bereite dich darauf vor, fehlerfreie SQL-Queries am Whiteboard oder in einer Online-Umgebung zu schreiben.
  • Zeige Verständnis für komplexe Konzepte wie Joins, Subqueries und Transaktionen anhand von Beispielen.
  • Berichte über Praxis-Erfahrungen mit Datenbanken, inklusive gelöster Herausforderungen oder Optimierungen.

Wie wichtig ist es, spezifische SQL-Dialekte zu lernen – und welche?

Die Kernsyntax von SQL ist über RDBMS hinweg ähnlich, aber jedes System (MySQL, PostgreSQL, SQL Server, Oracle) hat einen eigenen Dialekt mit speziellen Funktionen. Einen bestimmten Dialekt zu lernen ist wichtig, wenn du Rollen mit einem konkreten RDBMS anstrebst. Konzentriere dich auf den für deine Ziele oder Branche relevantesten. Eine starke Basis in Standard-SQL erleichtert den Wechsel zwischen Dialekten.

Hat DataCamp zusätzliche KOSTENLOSE Ressourcen zur Vorbereitung auf SQL-Interviews?

Ja! Wenn du aktuell an einer Hochschule lehrst oder studierst, kannst du mit DataCamp Classrooms unseren gesamten Premium-Katalog KOSTENLOS nutzen – inklusive SQL-Lernpfaden und Zertifizierungen.

Außerdem lohnt ein Blick auf unser kostenloses SQL Basics Cheat Sheet.

Welche SQL-Themen sind für Interviews 2026 am wichtigsten?

Konzentriere dich auf: (1) Joins und Subqueries – INNER, LEFT, RIGHT, FULL und korrelierte vs. nicht-korrelierte Subqueries; (2) Window Functions – ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD und laufende Summen; (3) CTEs (Common Table Expressions) – für gut lesbare, wartbare Abfragen; (4) Aggregationen und GROUP BY – inkl. HAVING; (5) Abfrageoptimierung – Indexstrategien und Ausführungspläne.

Was ist der Unterschied zwischen ROW_NUMBER, RANK und DENSE_RANK?

Alle drei sind Ranking-Window-Functions, gehen aber unterschiedlich mit Ties um: ROW_NUMBER() vergibt eindeutige fortlaufende Nummern, auch bei Ties (1, 2, 3, 4); RANK() vergibt bei Ties denselben Rang, lässt Nummern aus (1, 2, 2, 4); DENSE_RANK() vergibt bei Ties denselben Rang ohne Lücken (1, 2, 2, 3). Nutze DENSE_RANK für den „n.-höchsten“ Wert, wenn Ties dieselbe Position teilen sollen.


Elena Kosourova's photo
Author
Elena Kosourova
LinkedIn

IBM Certified Data Scientist (2020), zuvor Erdölgeologe/Geomodellierer von Öl- und Gasfeldern weltweit mit über 12 Jahren internationaler Berufserfahrung. Beherrschung von Python, R und SQL. Fachgebiete: Datenbereinigung, Datenmanipulation, Datenvisualisierung, Datenanalyse, Datenmodellierung, Statistik, Storytelling, maschinelles Lernen. Umfassende Erfahrung in der Verwaltung von Data Science Communities und im Schreiben/Reviewen von Artikeln und Tutorials zu Data Science und Karrierethemen.

Themen

Entdecke weitere SQL-Kurse!

Kurs

Datenbearbeitung in SQL

4 Std.
318.1K
Lerne, mit komplexen SQL-Abfragen diverse Data-Science-Aufgaben zu lösen und Datensätze für Analysen in PostgreSQL vorzubereiten.
Details anzeigenRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Blog

Die 50 wichtigsten AWS-Interviewfragen und Antworten für 2026

Ein kompletter Leitfaden, um die grundlegenden, mittleren und fortgeschrittenen AWS-Interviewfragen zu checken, zusammen mit Fragen, die auf echten Situationen basieren.
Zoumana Keita 's photo

Zoumana Keita

15 Min.

Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 Min.

Blog

Die 36 wichtigsten Fragen und Antworten zum Thema generative KI für 2026

Dieser Blog hat eine ganze Reihe von Fragen und Antworten zu generativer KI, von den Grundlagen bis hin zu fortgeschrittenen Themen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Blog

Ein kompletter Leitfaden zu den Gehältern von Business-Analysten im Jahr 2026

Finde raus, wie viel du als Business Analyst verdienen kannst und wie du dein jetziges Gehalt aufbessern kannst.
Matt Crabtree's photo

Matt Crabtree

14 Min.

Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Tutorial

30 coole Python-Tricks für besseren Code mit Beispielen

Wir haben 30 coole Python-Tricks zusammengestellt, mit denen du deinen Code verbessern und deine Python-Kenntnisse ausbauen kannst.
Kurtis Pykes 's photo

Kurtis Pykes

Mehr anzeigenMehr anzeigen