2.1 Einführung in SQL

Wenn Sie über eine Datenbank (DB) und darin eine Tabelle mit einigen Daten verfügen, besteht die häufigste Aufgabe darin, bestimmte Daten in dieser Tabelle zu finden. Dafür wurde SQL vor 40 Jahren erfunden.

SQL steht für Structured Query Language .

Die einfachste SQL-Abfrage sieht so aus:

SELECT column1, column2, … columnN FROM table

Nehmen wir an, Sie haben eine Mitarbeitertabelle mit einer Liste der Mitarbeiter Ihres Startups:

Ausweis Name Beruf Gehalt Alter Beitrittsdatum
1 Iwanow Iwan Programmierer 100.000 25 30.06.2012
2 Petrov Petr Programmierer 80.000 23 12.08.2013
3 Iwanow Sergej Prüfer 40.000 dreißig 01.01.2014
4 Rabinovich Moisha Direktor 200.000 35 12.05.2015
5 Kirienko Anastasia Büroleiter 40.000 25 10.10.2015
6 Vaska Der Kater 1.000 3 01.01.2018

employee namesSie möchten eine Abfrage schreiben, die diese ebenfalls anzeigt salaries. Dann müssen Sie eine Abfrage schreiben:

SELECT name, salary FROM employee

Sie erhalten das Abfrageergebnis:

Name Gehalt
Iwanow Iwan 100.000
Petrov Petr 80.000
Iwanow Sergej 40.000
Rabinovich Moisha 200.000
Kirienko Anastasia 40.000
Vaska 1.000

Wenn Sie alle Spalten Ihrer Tabelle anzeigen möchten , können Sie statt der Auflistung aller Spaltennamen einfach ein Sternchen schreiben. Beispiel:

SELECT * FROM employee

Sie erhalten das Abfrageergebnis:

Ausweis Name Beruf Gehalt Alter Beitrittsdatum
1 Iwanow Iwan Programmierer 100.000 25 30.06.2012
2 Petrov Petr Programmierer 80.000 23 12.08.2013
3 Iwanow Sergej Prüfer 40.000 dreißig 01.01.2014
4 Rabinovich Moisha Direktor 200.000 35 12.05.2015
5 Kirienko Anastasia Büroleiter 40.000 25 10.10.2015
6 Vaska Der Kater 1.000 3 01.01.2018

2.2 Erweiterte Ansicht der SQL-Abfrage

Die SQL-Sprache wurde so benutzerfreundlich wie möglich gestaltet.

Erstens spielt die Groß-/Kleinschreibung des Anfragetextes keine Rolle . Sie können SELECT, Select oder select schreiben und alles wird funktionieren. Zweitens werden Zeilenumbrüche in keiner Weise berücksichtigt . Das DBMS wandelt die Abfrage weiterhin in eine lange Zeichenfolge um, sodass Sie sie nach Belieben schreiben können.

Wie Sie wahrscheinlich bereits vermutet haben, sind die Schlüsselwörter SELECT und FROM nicht beschränkt. Sonst würde nicht so viel über SQL geredet. Die erweiterte Ansicht der SQL-Abfrage sieht folgendermaßen aus:

SELECT columns
FROM table
WHERE condition
GROUP BY columns
HAVING columns
ORDER BY sorting

Mit Hilfe eines Schlüsselwortes WHEREkönnen Sie eine Bedingung/Filter für die ausgewählten Zeilen festlegen.

Beispiel 1 . Schreiben wir eine Abfrage, die Mitarbeiter mit dem Beruf „Programmierer“ auswählt:

SELECT * FROM employee WHERE occupation = 'Programmer'

Und wir erhalten das folgende Abfrageergebnis:

Ausweis Name Beruf Gehalt Alter Beitrittsdatum
1 Iwanow Iwan Programmierer 100.000 25 30.06.2012
2 Petrov Petr Programmierer 80.000 23 12.08.2013

Wie Sie sehen, werden als Ergebnis der Abfrageausführung nur Zeilen angezeigt, in denen der Beruf des Mitarbeiters „Programmierer“ heißt.

Die Schlüsselwörter GROUP BYund werden ORDER BYwir HAVINGin den nächsten Vorlesungen behandeln. Und darin werden wir noch ein paar Beispiele mit dem Wort WHERE analysieren.

Beispiel 2 . Schreiben wir nun eine Abfrage, die uns alle Mitarbeiter mit einem Gehalt von mehr als 100.000 anzeigt. So wird es aussehen:

SELECT * FROM employee WHERE salary > 100000

Wir erhalten das folgende Abfrageergebnis:

Ausweis Name Beruf Gehalt Alter Beitrittsdatum
4 Rabinovich Moisha Direktor 200.000 35 12.05.2015

Beispiel 3 . Versuchen wir nun etwas Schwierigeres. Wie werden alle Mitarbeiter angezeigt, die im Jahr 2015 eingestellt wurden? Und so:

SELECT * FROM employee WHERE YEAR(join_date) = 2015

Wir erhalten das folgende Abfrageergebnis:

Ausweis Name Beruf Gehalt Alter Beitrittsdatum
4 Rabinovich Moisha Direktor 200.000 35 12.05.2015
5 Kirienko Anastasia Büroleiter 40.000 25 10.10.2015

In dieser Abfrage verwenden wir eine spezielle Funktion YEAR(), die es uns ermöglicht, das Jahr aus einem Datum zu ermitteln und dann das Jahr des Datums mit der Zahl 2015 zu vergleichen.

2.3 Kommentare in SQL-Abfragen

Und ein weiterer wichtiger Punkt sind Kommentare in SQL-Abfragen. Kommentare sind eine sehr nützliche Sache. Erstens können Sie darin Erklärungen und/oder Ihre Ideen verfassen. Zweitens können Sie mithilfe von Kommentaren fehlerhaften Code deaktivieren. Oder kommentieren Sie die alte Version des Codes aus.

SQL verfügt wie Java über einzeilige und mehrzeilige Kommentare. Darüber hinaus sieht ein mehrzeiliger Kommentar genauso aus wie in Java. Sein Aussehen:


/*
 	comment text
 	comment text
 	comment text
*/
        

Natürlich kann es auch in einer Zeile verwendet werden. Beispiel:


/*comment text*/
        

Es gibt auch eine Art Kommentar „vom Anfang bis zum Ende der Zeile“, ähnlich dem Java „//“. Nur in SQL müssen Sie zwei Minuszeichen und ein Leerzeichen schreiben . Allgemeine Meinung zu einem solchen Kommentar:

-- comment text

Beispiel:


        SELECT * FROM employee -- WHERE YEAR(join_date) = 2015 
        

Im obigen Beispiel haben wir die Abfragebedingung auskommentiert, sodass MySQL nur die Abfrage ausführt:

SELECT * FROM employee

2.4 SQL-Aussprache

Wenn Sie mit ausländischen Kunden kommunizieren oder ein Online-Interview für ein amerikanisches Unternehmen bestehen, werden Sie möglicherweise nach Ihren Erfahrungen mit der Fortsetzungssprache gefragt . Sie werden ehrlich sagen, dass Sie nicht mit ihm zusammengearbeitet haben und das Vorstellungsgespräch sofort durchgefallen sind.

Und die Sache ist, dass die SQL-Sprache ursprünglich SEQUEL hieß, was wie eine Fortsetzung (ˈsēkwəl) ausgesprochen wird, sodass man in den USA und anderen englischsprachigen Quellen sehr oft nicht „escuel“, sondern „sequel“ hört. SQL wird geschrieben und die Fortsetzung wird gelesen. Hier ist so ein historisches Paradoxon.