Sie sind auf Seite 1von 3

09.03.

2018 – SQL Grundlagen

SQL
Learning Relational Databases:

https://www.lynda.com/Access-tutorials/Learning-Relational-Databases/604214-
2.html?srchtrk=index%3a4%0alinktypeid%3a2%0aq%3adatabases%0apage%3a1%0as%3arelevance%
0asa%3atrue%0aproducttypeid%3a2

Normalizing Databases:

https://www.lynda.com/MySQL-tutorials/Normalizing-databases/158373/168190-4.html

Structured Query Language


besteht aus:

1. DML – Data Manipulation Language


Zugriffe auf die Inhalte (  Daten)
SELECT; INSERT; UPDATE DELETE

2. DDL – Data Definition Language


DDL Befehle wirken auf Struktur der DB (z.B. DB oder Tabelle erstellen, ändern, löschen)
CREATE; ALTER; DROP

3. DCL – Data Control Language


Anlagen von Benutzern Berechtigungen, etc.
GRANT; REVOKE

SQL - Gehört zu RDBS (Relationale Datenbasen System)


Nicht prozedurale Sprache: mit SQL wird die Aufgabenstellung, nicht des Lösungsweg beschreiben.
Ich definiere nur was gemacht werden soll, nicht des Lösungsweg beschreiben. (das machen die
höhere Sprachen)
Es gibt ISO – Standard SQL
neben dem Standard-SQL existieren viele (proprietäre) SQL-Dialekten (Microsoft SQL; Oracle SQL,
Transact-SQL etc…)

Diese Firmen haben die Standard SQL genommen und weiterentwickelt.

SQL – Ausdrücke

SELECT * FROM tabPersonal WHERE name=‘Schmidt‘;

SQL ist nicht Case-sensitive


Ausdrücke sind mit ; (Semikolon) abgeschlossen.
Ausdrücke können zur Verbesserung der Lesbarkeit mit Zeilenumbruch, Leerzeilen, Einrückungen
(Tabulator) oder Leerzeichen formatiert werden.

SELECT
lesender Zugriff auf Datenbestand
SELECT attrubut1, attritut2 …
FROM tabellename, [tabelle2];

1
09.03.2018 – SQL Grundlagen

Ausgabe bestimmte Attribute in hier festlegte Reihenfolge.

SELECT *
FROM tabellename; Ausgabe alles Attribute einer Tabelle, mittels Platzhalter *

SELECT DISTINCT ort


FROM tabKunden; Ausgabe mehrerer gleicher Werte, wird dieses nur einmal
ausgeben

Einschränkende Bedingung mit WHERE

SELECT name, vorname


FROM tabKunden;
WHERE ort =‘München‘; Filter Ausdruck nach WHERE Bedingung
Attribut-Werte werden mit vorgegebener Zeichenkette
verglichen.
Nur bei Charakter-Datentyp muss Wert in Anführungszeichen oder Hochkommas eingeschlossen
sein. Bei Boolean, Integer, Float, .. keine Anführungszeichen.

Vergleichsoperatoren
Es gibt keine Variables in SQL deswegen:

= ist Vergleich Operator, nicht Zuweisung-Operator

<> > >= < <=

BETWEEN Zwischen Bereich definieren


LIKE Mustervergleich, reguläre Ausdrücke

Beispiele für Operatoren in WHERE-Klammern:

SELECT vorname, name, ort


FROM tabKunden
WHERE plz > 60000;
WHERE ort > IN(‘München’,’Augsburg’, ‘Nürnberg’);

These are Alternatives, you cannot have 2 Wheres at the same time
But we can connect Wheres with the AND OR NOT Operators ya all!

SELECT vorname, name


FROM tabKunden
WHERE ort=’München’
OR ort=Hamburg’;

SELECT vorname, name


FROM tabKunden
WHERE ort=’München’
AND name=’Schneider’;

2
09.03.2018 – SQL Grundlagen

Sortierte Ausgbe mit ORDER By

SELECT vorname, name


FROM tabKunden
WHERE ort=’München’
ORDER By name ASC; Standart Angabe ist ASC / DESC möglich auch

Sortierung bei Character Attribut von A-Z (ASC) oder Z-A (DESC) bei Zahlenwerten entsprechend nach
größe auf- absteigend