Skip to content

Instantly share code, notes, and snippets.

@hmbrg
Created April 28, 2016 17:36
Show Gist options
  • Select an option

  • Save hmbrg/0e53bcaa6acb86ce5b9e9cfb9a2338bf to your computer and use it in GitHub Desktop.

Select an option

Save hmbrg/0e53bcaa6acb86ce5b9e9cfb9a2338bf to your computer and use it in GitHub Desktop.
SQL TUT

SQL Tutorial

Einleitung

Dieses Tutorial wird die Grundlagen der SQL-Sprache vermittlen und diese mit einfachen Beispielen erläutern.

Für dieses Tutorial nutzen wir die bekannte "Northwind Traders"-Datenbank, wofür sich hier ein ER-Diagramm finden lässt. Die Struktur der Datenbank sieht wie folgt aus:

Tabellenname Einträge
Customers 91
Categories 8
Employees 10
OrderDetails 518
Orders 196
Products 77
Shippers 3
Suppliers 29

ER-Diagramm

Befehle

Syntax

Die meisten SQL-Befehle folgen dieser Grundstrucktur:

SELECT * FROM Customers

Dieser Befehl gibt den gesamten Inhalt der Tabelle "Customers" aus. Außerdem ist es wichtig, dass die SQL-Sprache nicht auf klein- oder großgeschriebenen Befehlen achtet, es ist also egal, ob wir IMPORT nun so oder iMpoRT so schreiben.

Nun zu den eigentlichen Befehlen:


SELECT

Definition

Dieser Befehl wählt aus einer bestimmten Tabelle nur bestimmte Spalten aus.

SELECT spalte
Beispiele

Nur eine Spalte:

SELECT City FROM Customers
City
Berlin
Mexico
London
Luea
Mannheim

Mehrere Spalten:

SELECT CustomerName,City FROM Customers
CustomerName City
Alfreds Futterkiste Berlin
Ana Trujillo Emparedados y helados México D.F.
Antonio Moreno Taquería México D.F.
Around the Horn London
erglunds snabbköp Luleå
Blauer See Delikatessen Mannheim

SELECT DISTINCT

Definition

Dieser Befehl gibt ähnlich wie der SELECT-Befehl nur bestimmte Spalten und nur verschiedene Werte zurück.

SELECT DISTINCT spalte FROM tabelle
Beispiele

Eine Spalte:

SELECT DISTINCT CustomerName FROM Customers;
CustomerName
Alfreds Futterkiste
Ana Trujillo Emparedados y helados
Antonio Moreno Taquería
Around the Horn
Berglunds snabbköp

WHERE

Definition

Dieser Befehl filtert die Ausgabe.

SELECT spalte FROM tabelle WHERE spalte operator parameter

Diese Operatoren können zum filtern angewendet werden:

Operator Beschreibung
= "ist gleich"
<> ungleich
> größer als
< kleiner als
>= kleiner gleich
<= größer gleich
BETWEEN wert AND wert zwischen zwei Werten
Beispiele

Alle Kunden aus Deutschland:

SELECT * FROM Customers WHERE Country='Germany'

| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country | | 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany | | 6 | Blauer See Delikatessen | Hanna Moos | Forsterstr. 57 | Mannheim | 68306 | Germany | | 17 | Drachenblut Delikatessend | Sven Ottlieb | Walserweg 21 | Aachen | 52066 | Germany | | 25 | Frankenversand | Peter Franken | Berliner Platz 43 | München | 80805 | Germany | | 39 | Königlich Essen | Philip Cramer | Maubelstr. 90 | Brandenburg | 14776 | Germany |

Alle Kunden mit der Kontaktperson:

SELECT * FROM Customers WHERE CustomerID BETWEEN 1 AND 5
CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

AND & OR

Definition

AND & OR erlauben es mehrere Kriterien (WHERE) für eine Abfrage zu verwenden.

SELECT spalte FROM tabelle WHERE spalte operator parameter AND spalte operator parameter

Hier bei wird AND verwendet wenn alle Kriterien erfüllt sind und OR wenn mindestens ein Kriterium erfüllt ist.

Beispiele

TXT

SELECT * FROM Customers WHERE Country='Germany' AND City='Berlin';

| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country | | 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |

ORDER BY

Definition

Dieser Befehl wird genutzt um die Ergebnisse in einer bestimmten Reihenfolge zu sortieren.

SELECT spalte FROM tabelle ORDER BY spalte ASC|DESC

ASC wird verwendet um die Ergebnisse nach dem Alphabet zu ordnen und DESC um das Gegenteil zu tun.

Beispiele

TXT

SELECT * FROM Customers ORDER BY Country ASC;

| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country | |-|-| | 12 | Cactus Comidas para llevar | Patricio Simpson | Cerrito 333 | Buenos Aires | 1010 | Argentina | | 54 | Océano Atlántico Ltda. | Yvonne Moncada | Ing. Gustavo Moncada 8585 Piso 20-A | Buenos Aires | 1010 | Argentina | | 64 | Rancho grande | Sergio Gutiérrez | Av. del Libertador 900 | Buenos Aires | 1010 | Argentina | | 20 | Ernst Handel | Roland Mendel | Kirchgasse 6 | Graz | 8010 | Austria | | 59 | Piccolo und mehr | Georg Pipps | Geislweg 14 | Salzburg | 5020 | Austria |

INSERT INTO

Definition

Dieser Befehl wird verwendet um neue Einträge in eine Tabelle einer Datenbank zu machen.

INSERT INTO tabelle VALUES (wert1, wert2, ...)
Beispiele

TXT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment