23rd Jun 2022 8 Leseminuten Vollständige SQL-Übung für Vorstellungsgespräche Marek Pankowski SQL-Interviewfragen Inhaltsverzeichnis Grundlegende SQL-Whiteboard-Fragen für Vorstellungsgespräche Praktische SQL-Übungen für das Vorstellungsgespräch SQL-Übung 1 - Schreiben Sie eine Anweisung SQL-Übung 2 - Schreiben Sie eine Anweisung SQL-Übung 3 - Finden Sie den Fehler SQL-Übung 4 - Finden Sie das Ergebnis SQL-Übung 5 - Schreiben Sie eine Abfrage SQL-Übung 6 - Schreiben Sie eine Datumsabfrage SQL-Übung 7 - Schreiben Sie eine Abfrage SQL-Übung 8 - Finden und Löschen von Duplikaten SQL-Übung 9 - Schreiben einer komplexen Abfrage SQL-Übung 10 - Schreiben einer komplexen Abfrage Fortgeschrittenes SQL Whiteboard-Fragen Herzlichen Glückwunsch! Ihre SQL-Kenntnisse waren stark genug, um Ihnen das Vorstellungsgespräch zu verschaffen! Wenn Sie jetzt nur wüssten, welche SQL-Fragen und praktischen Übungen ein Personalverantwortlicher von Ihnen verlangen könnte... Dieser Artikel ist als SQL-Übung für Vorstellungsgespräche gedacht. Ich werde Ihnen helfen, sich auf die SQL- und Datenbankaspekte Ihres Vorstellungsgesprächs vorzubereiten. In einem früheren Artikel habe ich erklärt, wie Sie Ihre Karriere vorantreiben können, indem Sie SQL lernen. Es eröffnet Möglichkeiten innerhalb und außerhalb der IT, da diese Abfragesprache praktisch überall verwendet wird. Nehmen wir an, Sie haben sich endlich entschlossen, Ihre SQL-Kenntnisse in einem neuen Job einzusetzen. Bevor Sie jedoch anfangen können, müssen Sie das Vorstellungsgespräch überstehen. Ihr Gesprächspartner kann verschiedene Arten von SQL-Tafelfragen verwenden: Manchmal werden Sie gebeten, die Unterschiede zwischen zwei Elementen zu beschreiben; manchmal müssen Sie ihm das Ergebnis einer bestimmten Abfrage mitteilen; vielleicht müssen Sie sogar einen einfachen Code schreiben. Das klingt stressig, aber machen Sie sich nicht zu viele Sorgen. Der beste Weg, sich auf ein Vorstellungsgespräch vorzubereiten, ist viel Übung. Ich empfehle den SQL-Praxis Track auf LearnSQL.de. Er enthält über 600 interaktive SQL-Übungen, mit denen Sie SQL vor einem Vorstellungsgespräch wiederholen und üben können. In diesem Artikel möchte ich Ihnen helfen, sich auf das Vorstellungsgespräch vorzubereiten, indem ich einige gängige Fragen und SQL-Übungen vorstelle, die Personalverantwortliche während des Vorstellungsgesprächs verwenden. Grundlegende SQL-Whiteboard-Fragen für Vorstellungsgespräche Konzentrieren wir uns zunächst auf die eher theoretische Seite von SQL. Um Ihr Verständnis in diesem Bereich zu beurteilen, wird der Personalverantwortliche Sie wahrscheinlich bitten, einige einfachere Fragen mündlich zu erläutern. Dabei geht es in der Regel vor allem um die elementaren Teile von SQL. Sie könnten zum Beispiel gebeten werden, einige der folgenden SQL-Whiteboard-Fragen zu beantworten: Zählen Sie alle grundlegenden Elemente einer SQL-Abfrage auf und erklären Sie sie. Was ist die WHERE Klausel? Was bewirken die Operatoren LIKE und NOT LIKE? Erklären Sie die Verwendung der Klauseln AND, OR und NOT. Was ist ein NULL Wert? Was bewirkt ein JOIN? Was sind die verschiedenen Arten von JOIN-Klauseln? Erklären Sie die GROUP BY Klausel. Was ist der Unterschied zwischen den Klauseln WHERE und HAVING? Was bewirkt ORDER BY? Was macht UNION? Was ist der Unterschied zwischen UNION und UNION ALL? Was bewirken die Klauseln INTERSECT und MINUS? Welche Rolle spielt das Schlüsselwort DISTINCT? Erklären Sie die Verwendung von Aliasen in Abfragen. Können Sie alle Fragen aus meiner SQL-Übung für Vorstellungsgespräche beantworten? Selbst grundlegende Fragen erfordern eine gute Vorbereitung und viel Übung. Niemand ist perfekt, und manchmal müssen Sie Ihr Wissen auffrischen. Unsere Online-Kurse können Ihnen helfen, halb vergessene Kenntnisse aufzufrischen. Praktische SQL-Übungen für das Vorstellungsgespräch Technische Vorstellungsgespräche haben oft auch einen praktischen Teil. Hier müssen Sie Ihre SQL-Kenntnisse so unter Beweis stellen, wie Sie sie im wirklichen Leben anwenden würden - neben der Beantwortung typischer SQL-Whiteboard-Fragen werden Sie aufgefordert, eine SQL-Anweisung zu schreiben, eine Abfrage auf Fehler zu überprüfen oder das Ergebnis einer bestimmten Abfrage zu ermitteln. Im Folgenden habe ich zehn SQL-Übungen kopiert, wie sie in einem technischen Vorstellungsgespräch vorkommen können. Sie sind von leicht bis schwer sortiert. SQL-Übung 1 - Schreiben Sie eine Anweisung Schreiben Sie eine SQL-Anweisung, die die Namen von Schulen, Schülern und deren Städten nur dann auflistet, wenn die Schule und der Schüler in derselben Stadt liegen und der Schüler nicht aus New York stammt. Table: school school_id school_name city ----------- ------------------ ---------- 1 Stanford Stanford 2 University of Cali San Francisco 3 Harvard University New York 4 MIT Boston 5 Yale New Haven Table: student student_id student_name city school_id ----------- ------------ ---------- ----------- 1001 Peter Brebec New York 1 1002 John Goorgy San Francisco 2 2003 Brad Smith New York 3 1004 Fabian Johns Boston 5 1005 Brad Cameron Stanford 1 1006 Geoff Firby Boston 5 1007 Johnny Blue New Haven 2 1008 Johse Brook Miami 2 SQL-Übung 2 - Schreiben Sie eine Anweisung Schreiben Sie eine SQL-Anweisung, die die Namen der Schüler, die Namen der Fächer, die Fachdozenten und die maximale Punktzahl für alle Fächer außer Informatik und alle Fächer mit einer maximalen Punktzahl zwischen 100 und 200 auflistet. Table: subject subject_id subject_name max_score lecturer ---------- ---------- ---------- ----------- 11 Math 130 Christena Solem 12 Computer Science 150 Jaime Pille 13 Biology 300 Carrol Denmark 14 Geography 220 Yuette Galang 15 Physics 110 Colton Rather 16 Chemistry 400 Nan Mongeau Table: student student_id student_name city subject_id ----------- ------------ ---------- ----------- 2001 Thurman Thorn New York 11 2002 Sharda Clemens San Francisco 12 2003 Buck Elkins New York 13 2004 Fabian Johns Boston 15 2005 Brad Cameron Stanford 11 2006 Sofia Roles Boston 16 2007 Rory Pietila New Haven 12 SQL-Übung 3 - Finden Sie den Fehler Was ist an dieser SQL-Abfrage falsch? SELECT Id, name, YEAR(BillingDate) AS Year FROM Records WHERE Year >= 2010 SELECT id, name FROM students WHERE grades = (SELECT MAX(grades) FROM students GROUP BY subject_id;); SQL-Übung 4 - Finden Sie das Ergebnis Gegeben sind die folgenden Tabellen ... Table: worker id name --- ----------- 1 Guillermo Sparks 2 Gene Roberts 3 Ally Jones 4 Bryant Summers 5 Candice Green Table: departments id name manager_id --- ------------- --------- 1 Financial 3 2 Strategy 5 3 IT 1 4 Marketing NULL ... Wie lautet das Ergebnis der folgenden Abfrage? SELECT name FROM worker WHERE id NOT IN (SELECT manager_id FROM departments) SQL-Übung 5 - Schreiben Sie eine Abfrage Die Tabelle EMPLOYEE Tabelle hat die folgenden Attribute: NAME, DEPT_ID, und SALARY. Schreiben Sie eine Abfrage, die das höchste Gehalt in jeder Abteilung anzeigt. SQL-Übung 6 - Schreiben Sie eine Datumsabfrage Schreiben Sie eine SQL-Abfrage, die das aktuelle Datum anzeigt. SQL-Übung 7 - Schreiben Sie eine Abfrage Schreiben Sie eine SQL-Abfrage, die überprüft, ob ein an die Abfrage übergebenes Datum (1/04/12) in einem bestimmten Format (MM/JJJ/TT) vorliegt. SQL-Übung 8 - Finden und Löschen von Duplikaten Schreiben Sie eine SQL-Abfrage, um doppelte Zeilen in zwei Tabellen zu finden (EMPLOYEE und WORKERS), und schreiben Sie dann eine Abfrage, um die Duplikate zu löschen. SQL-Übung 9 - Schreiben einer komplexen Abfrage Schreiben Sie eine Abfrage, die die Namen der Studienfächer und die Anzahl der Studenten, die den Kurs belegen, nur dann auflistet, wenn für den Kurs drei oder mehr Studenten eingeschrieben sind. Table: subject subject_id subject_name max_score lecturer ---------- ---------- ---------- ----------- 11 Math 130 Christena Solem 12 Computer Science 50 Jaime Pille 13 Biology 300 Carrol Denmark 14 Geography 220 Yuette Galang 15 Physics 110 Colton Rather 16 Chemistry 400 Nan Mongeau Table: student student_id student_name city subject_id ----------- ------------ ---------- ----------- 2001 Thurman Thorn New York 11 2002 Sharda Clemens San Francisco 12 2003 Buck Elkins New York 13 2004 Fabian Johns Boston 15 2005 Brad Cameron Stanford 11 2006 Sofia Roles Boston 16 2007 Rory Pietila New Haven 12 2008 Cicely Weish Tulsa 14 2011 Richard Curtin Boston 11 2012 Kassy Ledger Stanford 11 2013 Henry Ledger Miami 13 2014 Darius Fidzberg San Francisco 12 2015 Darcey Fiorillo Chicago 14 SQL-Übung 10 - Schreiben einer komplexen Abfrage Schreiben Sie eine Abfrage, die das Durchschnittsalter der Arbeitnehmer in jedem Unternehmen anzeigt. Das Ergebnis sollte den Namen des Unternehmens und das Alter des jüngsten Mitarbeiters des Unternehmens anzeigen. Table: company ID NAME ------ ------------- 1 Amazon 2 Samsung 3 LG 4 Kia 5 Lenovo Table: workers ID NAME AGE COMPANY_ID ------- ------------------------- ---------- ------------- 1 Derick Davison 20 5 2 Bari Becnel 50 1 3 Maddie Mueller 33 2 4 Eva Emrich 23 1 5 Katelyn Kunze 55 3 6 Hue Hover 26 2 7 Lucas Lout 57 4 8 Granville Grande 30 5 9 Robt Rude 39 3 10 Lisha Lewin 25 4 11 Aron Atlas 52 3 12 Chester Coddington 44 4 13 Diedre Dominy 31 1 14 Evie Edgell 35 2 15 Judy Johanson 36 5 Fortgeschrittenes SQL Whiteboard-Fragen OK, wir haben also schon ein wenig SQL für Vorstellungsgespräche geübt, aber unsere Übungen betrafen die SQL-Grundlagen. Aber wie sieht es mit einer fortgeschritteneren Tätigkeit aus, z. B. als SQL-Entwickler oder Datenbankadministrator? Personalverantwortliche sind nicht nur an Ihren SQL-Kenntnissen interessiert, sondern auch daran, wie gut Sie sich mit Datenbanken im Allgemeinen auskennen. In diesem Fall sollten Sie prüfen, wie gut Sie SQL-Fragen wie diese mündlich beantworten können: Was sind Primär- und Fremdschlüssel? Was ist Normalisierung? Was ist Denormalisierung? Was ist ein Index? Können Sie die verschiedenen Indextypen kurz erklären? Können Sie Datenbankbeziehungen und Beziehungstypen erklären? Was ist ein Datenbank-Cursor? Was ist ein Constraint? Was ist eine Datenbanktransaktion? Eine Datenbanksperre? Wie verwenden Sie die Funktion NULLIF? Was ist der Zweck der Funktion NVL? Was ist der Unterschied zwischen den Funktionen RANK() und DENSE_RANK()? Was ist der Unterschied zwischen den Datentypen VARCHAR2 und CHAR? Auch wenn Sie die Antworten auf diese Fragen kennen, lohnt es sich, sie zu üben. Vielleicht möchten Sie sogar üben, sie laut zu beantworten! Sie sehen also, dass SQL-Fragen und -Übungen am Whiteboard nicht so beängstigend sind, wie Sie denken. Natürlich ist es auch kein Zuckerschlecken. Wir haben einige gängige Methoden zur Bewertung von Fähigkeiten besprochen, aber vieles hängt von der Vorstellungskraft und der Erfahrung Ihres Gesprächspartners ab. Das Wichtigste ist, dass Sie dem Personalverantwortlichen zeigen, dass Sie wissen, wie SQL funktioniert, und dass Sie bei Bedarf Hilfe im Internet finden können. Wenn Sie noch kein Vorstellungsgespräch in Aussicht haben, ist jetzt der richtige Zeitpunkt, um Ihre SQL-Kenntnisse zu verbessern. Wie auch immer, ich hoffe, dass dieser Artikel Ihnen eine ordentliche Portion SQL-Übung für Vorstellungsgespräche gegeben hat und Ihnen geholfen hat, zu lernen, was Sie erwarten können und wie Sie sich auf ein SQL-bezogenes Vorstellungsgespräch vorbereiten können, wenn Sie eines bekommen! Tags: SQL-Interviewfragen