Lernmaterial Datenbank-Systeme SQL Anweisungen

Puh... noch exakt einen Monat zur Klausur, der Countdown läuft....
Da ich leider (noch) nicht besonders fit in SQL bin, hab ich gedacht, ich schreibe mir mal was zusammen und lasse euch dran Teil haben - natürlich in der leisen Hoffnung, dass sich auch einer von euch vielleicht dran beteiligt ;-)

Los gehts:
Grundlagen:
SQL


Basistabellen – Idizes:

Erzeugung von Basistabellen :
CREATE TABLE
Erweiterung von Basistabellen:
EXPAND TABLE
Löschen von Basistabellen:
DROP TABLE
Erzeugung von Indizes:
CREATE INDEX
Löschen von Indizes:
DROP INDEX



Datenmanipulation mit SQL

a) Auswahl von Daten
(kommt häufig in den Klausuren dran – absolute Grundlage)

SELECT (Wähle)
FROM (aus)
WHERE (wo folgende Bedingung erfüllt ist)


1) Einfache Auswahl
- Projektion mit Duplikaten:
SELECT
FROM


- Projektion ohne Duplikate
SELECT DISTINCT
FROM


- Kopieren einer Basistabelle
SELECT *
FROM


2) Qualifizierte Auswahl
Auswahl mit Einzelbedingung

- „Suche nach zwei Bedingungen, die gleichzeitig erfüllt sind“
SELECT
FROM
WHERE
AND

- „Suche nach zwei Bedingungen, von denen entweder die eine oder die andere erfüllt ist“
SELECT
FROM
WHERE
AND

- Suche nach einer Bedingung, die nicht erfüllt ist“
SELECT
FROM
WHERE
NOT
 
2) Qualifizierte Auswahl
Auswahl mit Einzelbedingung
- „Suche nach zwei Bedingungen, die gleichzeitig erfüllt sind“
SELECT
FROM
WHERE
AND
- „Suche nach zwei Bedingungen, von denen entweder die eine oder die andere erfüllt ist“
SELECT
FROM
WHERE
AND
- Suche nach einer Bedingung, die nicht erfüllt ist“
SELECT
FROM
WHERE
NOT

Ich würde es so schreiben, dabei entsprechend verbessert :belehren::

2) Qualifizierte Auswahl

Auswahl mit Einzelbedingung

- „Suche nach zwei Bedingungen, die gleichzeitig erfüllt sind“
SELECT feldname
FROM tabelle
WHERE bedingung1
AND bedingung2

- „Suche nach zwei Bedingungen, von denen eine erfüllt ist"
SELECT feldname
FROM tabelle
WHERE bedingung1
OR bedingung2

- Suche nach einer Bedingung, die nicht erfüllt ist“
SELECT feldname
FROM tabelle
WHERE bedingung1
NOT bedingung2

-------------------------------------------------
bedingung* : feldname OPERATOR wert, wobei wert auch ein feldname sein könnte
OPERATOR : =, <>, <, <=, >, >=
 
Zuletzt bearbeitet:
Was fehlt euch denn noch an Befehlen?
Ihr könnt alternativ auch hier schauen.
Da gibt es eine Testdatenbank bei der man gleich Üben kann und das ganze bekommt etwas Greifbares :-).

Neu sind die Quizfragen :-).
 
Ich wollte Amina nur ermuntern hier weiter zu machen.
Danke für die Links schmetterling, aus anderen Quellen lernt man vielleicht besser!:danke:
Die Testdatenbank erspart das Gefrickel mit der eigenen (wobei man da auch was lernen kann)!
 
Weiter gehts:

3) Auswahl mit Sortierung


feldname [ORDER][feldname[ORDER]]...


absteigende Sortierung
SELECT feldname, feldname
FROM tabelle
WHERE Bedingung 1
ORDER BY feldname DESC


aufsteigende Sortierung

SELECT feldname, feldname
FROM tabelle
WHERE Bedingung 1
ORDER BY feldname


4) Auswahl mit Verbund

tabellenname.feldname

SELECT DISTINCT tabellenname.feldname1, tabellenname.feldname2
FROM tabelle 1, tabelle2
WHERE tabellenname1.feldname1= tabellenname2.feldname1
AND Bedingung 2
AND Bedingung 3


5) Subabfrage mit ANY

feldname = ANY (SELECT … FROM … WHERE

Auswahl mit ANY:
SELECT feldname1
FROM tabelle1
WHERE feldname2 = ANY (SELECT feldname2
FROM tabelle2
WHERE Bedingung 1)

anstelle des = Zeichens gehen auch folgende Operatoren =, <>, <, <=, >, >=


6) Auswahl mit IN-Klausel

SELECT feldname1
FROM tabelle1
WHERE feldname2 IN (SELECT feldname2
FROM tabelle2
WHERE Bedingung 1)

IN-Klausel mit Subabfrage in gleicher Tabelle

SELECT feldname1
FROM tabelle1
WHERE feldname2 IN (SELECT feldname2
FROM tabelle1
WHERE Bedingung 1)

NOT-IN:

SELECT feldname1
FROM tabelle1
WHERE feldname2 NOT IN (SELECT feldname2
FROM tabelle2
WHERE Bedingung 1)

7) Auswahl mittels EXISTS („Es existiert ein....)

SELECT feldname1
FROM tabelle1
WHERE EXISTS
(SELECT *
FROM tabelle2
WHERE Bedingung 1
AND Bedingung 2)

Auswahl mittels NOT EXISTS
SELECT feldname1
FROM tabelle1
WHERE NOT EXISTS
(SELECT *
FROM tabelle2
WHERE Bedingung 1
AND Bedingung 2)


B) Auswahl mit eingebetteten Funktionen

SELECT COUNT – Ermitteln der Anzahl von Werten einer Tabellenspalte
SELECT SUM – Bilden der Summe der Werte einer Tabellenspalte
SELECT AVG – Bilden des Durchschnittes der Werte einer Tabellenspalte
SELECT MAX – Ermitteln des größten Wertes einer Tabellenspalte
SELECT MIN – Ermitteln des kleinsten Wertes einer Tabellenspalte

Sonderfall: SELECT COUNT (*) (Ermittelt die Anzahl der Tupel bzw. Zeilen der Artikel: Kein DISTINCT verwenden!

Anwendung von GROUP BY und HAVING

GROUP BY feldname

bzw.

GROUP BY feldname
HAVING arithmetischer Ausdruck

C) Ändern von Daten UPDATE

Update in einer Tabelle
  • Update eines Satzes
UPDATE tabellenname
SET feldname1alt='feldnameneu'
WHERE Bedingung1

Enthält der Feldname einen Wert, kann auch berechnet werden (SET feldname2alt=feldname2alt+10)
  • Update mehrerer Sätze
UPDATE tabellenname
SET feldname1alt='feldnameneu'
WHERE Bedingung1
AND Bedingung2
  • Update mit Subabfrage
UPDATE tabellenname
SET feldname1alt='feldnameneu'
WHERE Bedingung1 = (SELECT feldname2
FROM tabelle2
WHERE Bedingung 2)

Update in mehreren Tabellen

Hat die erste UPDATE-Anweisung die Konsistenz der ersten Datenbank verletzt, so muss die Konsistenz durch eine zweite Anweisung wieder hergestellt werden.


D) Einfügen von Daten (INSERT)
Einfügen eines Satzes
  • Einfügen eines vollständigen Satzes
INSERT INTO tabellenname
< wert1, wert2, wert3, wert4>
  • Einfügen eines unvollständigen Satzes
INSERT INTO tabellenname(feldname1, feldname3)
< wert1, wert3>

Einfügen mehrerer Sätze

INSERT INTO tabellenname1
SELECT feldname
FROM tabellenname2
WHERE Bedingung1
AND Bedingung2

E) Löschen von Daten (DELETE)
Löschen eines Satzes

DELETE FROM tabellenname
WHERE Bedingung1

Löschen mehrerer Sätze

DELETE FROM tabellenname
WHERE Bedingung1 = (SELECT feldname
FROM tabelle2
WHERE Bedingung 2)

Löschen aller Sätze einer Tabelle

DELETE FROM tabellenname
 
Zuletzt bearbeitet:
Möchte mich auch für den SQL-Kurs an der Fernuni Hagen anmelden.
Wie sieht es denn mit der Aktualität der Lernunterlagen aus. Nach meinen Infos wird mit SQL Stand 2008 gearbeitet (zwar auch für 2011 anwendbar) - ist das auch für 2014 noch gültiger Stoff?
 
Möchte mich auch für den SQL-Kurs an der Fernuni Hagen anmelden.
Welchen Kurs meinst Du genau?

Wie sieht es denn mit der Aktualität der Lernunterlagen aus. Nach meinen Infos wird mit SQL Stand 2008 gearbeitet (zwar auch für 2011 anwendbar) - ist das auch für 2014 noch gültiger Stoff?
SQL ist ein Standard, der im Wesentlichen die letzten Jahre stabil geblieben ist. Die Grundlagen haben sich, wenn überhaupt, dann kaum verändert. Was sich hauptsächlich in den letzten Anpassungen geändert hat, sind programmatische Erweiterungen. Du wirst also mit den obigen Infos nichts Falsches lernen ;-)
 
Welchen Kurs meinst Du genau?
Den Kurs SQL - Die Sprache der relationalen Datenbanken (Kursnummer: 78017), der einem in 60 Stunden einiges zeigen soll... das "bis zu den kompliziertesten Abfragen in zahlreichen Praxisaufgaben" ausprobier werde kann/soll/muss. Am Ende kann man für ca. 100.- ein Zertifikat nach einer Prüfung erwerben. Aber ob dieses Zertifikat etwas "wert" ist kann ich nicht einschätzen.
 
Ah, das Zertifikat. Ob das für den Arbeitsmarkt was Wert ist, kann ich auch nicht einschätzen. Für ein Studium wird man es nicht als Modul anrechnen lassen können. Die Frage ist, ob es Dir etwas bringt, Dich in diesem Thema weiterzubilden.
 
Für mich stellt sich die Frage, ob der Kurs mehr vermittelt als die Tutorials die ich auf youtube habe (z.B von thenewboston.com)
 
Das kostet aber mehr!
Irgendetwas über einem Kiloeuro.

Für mich stellt sich die Frage, ob der Kurs mehr vermittelt als die Tutorials die ich auf youtube habe (z.B von thenewboston.com)
Mehr Theorie und Detailtiefe sehr wahrscheinlich. Für Basics kannst du auch einfach Datenbanksysteme belegen und für Vertiefung entsprechende Literatur zu *XY*SQL lesen.
 
Zuletzt bearbeitet:
Zurück
Oben