Interviewfragen für SQL-Entwickler: Allgemeine Fragen und Antworten zu SQL-Interviews – Teil 3

Welche Arten von SQL joins haben Sie verwendet und erklären, wie sie funktionieren?

Antworten:

  • INNER JOIN: Gibt Zeilen mit übereinstimmenden Daten aus beiden Tabellen zurück.
  • LEFT JOIN: Gibt alle Zeilen aus der linken Tabelle und passende Zeilen aus der rechten Tabelle zurück.
  • RIGHT JOIN: Gibt alle Zeilen aus der rechten Tabelle und passende Zeilen aus der linken Tabelle zurück.
  • FULL JOIN: Gibt alle Zeilen aus beiden Tabellen zurück, einschließlich nicht übereinstimmender Zeilen.

 

Erklären Sie die ACID-Konzepte in SQL und ihre Rolle bei der Transaktionsverwaltung

Antwort: ACID steht für Atomicity, Consistency, Isolation, Durability. Dies sind wesentliche Eigenschaften bei der Transaktionsverwaltung in SQL:

  • Atomicity stellt sicher, dass eine Transaktion entweder vollständig oder gar nicht verarbeitet wird.
  • Consistency stellt sicher, dass die Daten definierten Regeln, Einschränkungen und Bedingungen entsprechen müssen.
  • Isolation stellt sicher, dass gleichzeitige Transaktionen sich nicht gegenseitig stören.
  • Durability stellt sicher, dass nach Abschluss einer Transaktion die Änderungen in der Datenbank sicher und dauerhaft gespeichert werden.

 

Was ist der Unterschied zwischen ROW_NUMBER(), RANK(), DENSE_RANK() Funktionen in SQL?

Antwort: ROW_NUMBER(), RANK(), DENSE_RANK() Werden alle zur Nummerierung von Zeilen in einem Abfrageergebnis verwendet, weisen jedoch die folgenden Unterschiede auf:

  • ROW_NUMBER(): Weist den Zeilen im Abfrageergebnis fortlaufende Nummern zu, ohne Duplikate zu berücksichtigen.
  • RANK(): Weist den Zeilen im Abfrageergebnis Nummern zu und überspringt bei Gleichstand die nächste Nummer.
  • DENSE_RANK(): Weist den Zeilen im Abfrageergebnis Nummern zu und überspringt bei Gleichstand nicht die nächste Nummer.

 

Anleitung zur Verwendung window functions in SQL und Bereitstellung eines Beispiels.

Antwort: Window functions Erlauben Sie die Durchführung von Berechnungen für eine Reihe verwandter Zeilen, ohne das Ergebnis der Hauptabfrage zu ändern. Beispielsweise können wir Fensterfunktionen verwenden, um laufende Summen zu berechnen oder die obersten N Zeilen innerhalb einer Ergebnismenge abzurufen.

SELECT ProductID, UnitPrice,   
       SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal  
FROM Products;  

 

So verwenden Sie reguläre Ausdrücke in SQL für den Mustervergleich

Antwort: Reguläre Ausdrücke in SQL werden für die Suche nach komplexen Textmustern verwendet. Sie werden oft mit dem LIKE Operator oder Funktionen wie REGEXP_LIKE(in Oracle) oder REGEXP_MATCHES(in PostgreSQL) verwendet.

SELECT * FROM Employees WHERE LastName LIKE '%son%';

 

So verwenden Sie JSON-Funktionen in SQL, um mit JSON-Daten zu arbeiten

Antwort: JSON-Funktionen in SQL ermöglichen das Abfragen, Einfügen, Aktualisieren und Löschen von Daten im JSON-Format in der Datenbank.

Beispielsweise können wir Funktionen wie JSON_VALUE, JSON_QUERY, JSON_MODIFY(in SQL Server) oder Operatoren wie ->, ->>, #>, #>> usw.(in PostgreSQL) verwenden, um JSON-Eigenschaften zu manipulieren.

SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName  
FROM Customers;  

 

Erweiterte Techniken zur SQL-Abfrageoptimierung und Optimierung der Datenbankleistung

Antwort: Um SQL-Abfragen und die Datenbankleistung zu optimieren, können wir Techniken verwenden wie:

  • Verwendung von Indizes für häufig abgefragte Spalten.
  • Optimierungs- JOIN und WHERE Klauseln für eine effiziente Datenbeschaffung.
  • Bei Bedarf Fensterfunktionen und Paginierung nutzen.
  • Vermeiden Sie SELECT *, um nur die erforderlichen Spalten abzurufen.
  • In einigen Fällen werden Abfragehinweise verwendet.
  • Sicherstellung der Datennormalisierung und Entfernung von Duplikaten.
  • Einsatz von Leistungsüberwachungstools zur Verfolgung und Feinabstimmung der Datenbank.

 

Erklären Sie, wie SET Operationen (UNION, INTERSECT, EXCEPT) in SQL verwendet werden

Antwort: SET Operationen (UNION, INTERSECT, EXCEPT) werden verwendet, um Ergebnismengen verschiedener Abfragen zu kombinieren und zu manipulieren.

  • UNION: Kombiniert die Ergebnisse von zwei oder mehr Abfragen in einem einzigen Datensatz und entfernt Duplikate.
  • INTERSECT: Gibt Zeilen zurück, die in beiden Abfrageergebnissätzen erscheinen.
  • EXCEPT: Gibt Zeilen zurück, die im ersten Abfrageergebnissatz erscheinen, aber nicht im zweiten.

 

So verwenden Sie Abfragefunktionen wie LEAD, LAG, FIRST_VALUE, LAST_VALUE in SQL

Antwort: Abfragefunktionen wie LEAD, LAG, FIRST_VALUE, LAST_VALUE werden verwendet, um Werte aus verwandten Zeilen innerhalb desselben Abfrageergebnisses abzurufen.

  • LEAD: Ruft den Wert einer Spalte aus der nächsten Zeile im Abfrageergebnis ab.
  • LAG: Ruft den Wert einer Spalte aus der vorherigen Zeile im Abfrageergebnis ab.
  • FIRST_VALUE: Ruft den ersten Wert einer Spalte im Abfrageergebnis ab.
  • LAST_VALUE: Ruft den letzten Wert einer Spalte im Abfrageergebnis ab.