Created
October 19, 2012 10:45
-
-
Save iamsebastian/3917502 to your computer and use it in GitHub Desktop.
Untitled
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
body { | |
padding: 0; | |
margin: 0; | |
color: hsla(47,1%,16%,1); | |
background: hsla(10,0%,96%,1); | |
min-height: 100%; | |
//font-family: 'Archivo Narrow', sans-serif; | |
font: 1.3rem 'Oranienbaum'; | |
} | |
body p { | |
padding: 0 0 0 1rem; | |
} | |
.container { | |
padding: 1rem; | |
width: 46%; | |
height: 13rem; | |
float: left; | |
display: ; | |
position: relative; | |
border: 5px solid hsla(0,0%,0%,.1); | |
} | |
.code { | |
font-family: 'Droid Sans Mono', sans-serif; | |
font-size: .8rem; | |
border-radius: .5rem; | |
color: hsla(9,18%,27%,1); | |
background: linear-gradient(0deg, hsla(0,0%,0%,.02), hsla(0,0%,0%,.03)); | |
padding: 1rem; | |
margin: -.5rem 0 2rem 0; | |
/*box-shadow: 0 -8px 4px 0 hsla(0,0%,100%,1), | |
0 1px 0 0 hsla(0,0%,100%,1), | |
0 6px 8px 0 hsla(0,0%,0%,.1), | |
inset 0 1px 1px 0 hsla(0,0%,0%,.15), | |
0 1px 0 0 hsla(0,0%,100%,.4); | |
*/ | |
border: 1px dashed hsla(0,0%,0%,.2); | |
} | |
div.unfloat { | |
float: none; | |
clear: both; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<link href='http://fonts.googleapis.com/css?family=Archivo+Narrow|Droid+Sans+Mono|Oranienbaum' rel='stylesheet' type='text/css'> | |
<div class="container"> | |
<p>COUNT zählt Datensätze.</p> | |
<div class="code">SELECT COUNT(*)<br/> | |
FROM ARTIKEL<br/> | |
WHERE KATEGORIE = 'Getränke'</div> | |
</div> | |
<div class="container"> | |
<p>AS definiert ein Synonym.</p> | |
<div class="code">SELECT COUNT(*) AS Anzahl_Getränke<br/> | |
FROM ARTIKEL<br/> | |
WHERE KATEGORIE = 'Getränke'</div> | |
</div> | |
<div class="container"> | |
<p>Gesamtzahl der Datensätze in einer Tabelle: mit teuerstem Artikel.</p> | |
<div class="code">SELECT COUNT(*) AS Anzahl<br/> | |
FROM ARTIKEL<br/> | |
WHERE KATEGORIE = 'Getränke'<br/> | |
SELECT MAX(Listenpreis)<br/> | |
FORM Artikel</div> | |
</div> | |
<div class="container"> | |
<p>Günstigsten Artikel pro Kategorie.</p> | |
<div class="code">SELECT Min(Listenpreis) AS billigst,Kategorie<br/> | |
FROM ARTIKEL<br/> | |
GROUP BY KATEGORIE</div></div> | |
<div class="container"> | |
<p>Mittlerer Mindestbestand (weiter Möglichkeiten: MIN, AVG, STDDEV (Standardabweichung), SUM).</p> | |
<div class="code">SELECT AVG(Mindestbestand)<br/> | |
FROM ARTIKEL<br/></div> | |
</div> | |
<div class="container"> | |
<p>Eckige Klammern dienen der Kapselung von Bezeichnern (z.B. wegen Sonderzeichen). Zähle Anzahl Kunden pro Bundesland/Kanton.</p> | |
<div class="code">SELECT COUNT(*) AS Anzahl, [Bundesland/Kanton]<br/> | |
FROM Kunden<br/> | |
GROUP BY [Bundesland/Kanton] | |
</div> | |
</div> | |
<div class="container"> | |
<p>Alle Getränke sortiert nach Preis.</p> | |
<div class="code">SELECT *<br/> | |
FROM ARTIKEL<br/> | |
WHERE Kategorie = 'Getränke'<br/> | |
ORDER BY Listenpreis</div> | |
</div> | |
<div class="container"> | |
<p>Standardreihenfolge ist aufsteigend (ASCENDING <i>{ASC}</i>). Absteigend ist:</p> | |
<div class="code">ORDER BY Listenpreis <b>DESC</b></div> | |
</div> | |
<div class="container"> | |
<p>Datumsangaben in WHERE-Klauseln (in Access: Datum im amerikan. Format angeben).</p> | |
<div class="code">SELECT *<br/> | |
FROM Bestellungen<br/> | |
WHERE Bestelldatum > #02/01/2006#<br/> | |
ORDER BY Listenpreis</div> | |
</div> | |
<div class="container"> | |
<p>Z.B. alle im März 2006.</p> | |
<div class="code">SELECT *<br/> | |
FROM Bestellungen<br/> | |
WHERE Bestelldatum BETWEEN #03/01/2006# AND #03/31/2006#<br/> | |
</div> | |
</div> | |
<div class="container"> | |
<p>Z.B. Liste aller Bücher mit Titel, Verlag und Eigentümer des Verlags:</p> | |
<div class="code">SELECT Titel, Verlag, Eigentümer<br/> | |
FROM tb_Buch, tb_Verlag<br/> | |
WHERE tb_Buch.Verlag = tb_Verlag.Name<br/> | |
</div></div> | |
<div class="container"> | |
<p>Anbinden der einen Tablle an die andere: <i>JOIN</i>en.<br/> | |
D.h. die Datensätze des Produktes, bei denen der Wert des Attributs, | |
mit Hilfe dessen das Joinen erfolgen soll, in beiden Tabellen gleich ist</p> | |
<div class="code">SELECT B.Titel, B.Verlag, V.Eigentümer<br/> | |
FROM tb_Buch AS B, tb_Verlag AS V<br/> | |
WHERE B.Verlag = V.Name<br/> | |
</div></div> | |
<div class="container"> | |
<p>z.B. Liste der Entleihungen mit Nutzername und Buchtitel:</p> | |
<div class="code">SELECT N.Name, B.Titel, E.Ausleihdatum, E.Rückgabedatum<br/> | |
FROM tb_Entleihungen AS E, tb_Benutzer AS N, tb_Buch as B<br/> | |
WHERE E.Ausleihernr = N.Nr AND E.Buchnr = B.Nr<br/> | |
</div></div> | |
<div class="container"> | |
<p>alternative Schreibweise der "<i>JOINung</i>"</p> | |
<div class="code">SELECT Titel, Verlag, Eigentümer<br/> | |
FROM tb_Buch INNER JOIN tb_Verlag<br/> | |
ON tb_Buch.Verlag = tb_Verlag.Name<br/> | |
</div></div> | |
<div class="container"> | |
<p>Mehr als zwo Tabellen verbinden.</p> | |
<div class="code">SELECT N.Name, B.Titel, E.Ausleihdatum, E.Rückgabedatum<br/> | |
FROM tb_Benutzer AS N INNER JOIN (tb_Entleihungen AS E INNER JOIN tb_Buch AS B ON E.Buchnr = B.Nr)<br/> | |
ON E.Ausleihernr = N.Nr<br/> | |
</div></div> | |
<div class="container"> | |
<p>Neben <i>INNER JOIN</i> gibt es <i>OUTER JOIN</i>. Sie unterscheiden sich in der Behandlung von NULL-Werten, d.h. von leeren Feldern, | |
z.B. einem Bucheintrag ohne Verlag.</p> | |
<div class="code">SELECT Titel, Verlag, Eigentümer<br/> | |
FROM tb_Buch OUTER JOIN tb_Verlag<br/> | |
ON tb_Buch.Verlag = tb_Verlag.Name<br/> | |
</div></div> | |
<div class="container"> | |
<p>Z.B. Liste aller Bücher die überdurchschnittlich teuer sind.<br/> | |
Dazu: 1. Durchschnitt bestimmen:</p> | |
<div class="code">SELECT * FROM tb_Buch<br/> | |
WHERE Preis ><br/> | |
(SELECT AVG(Preis) FROM tb_Buch<br/> | |
</div></div> | |
<div class="unfloat"></div> | |
<h1>2. SQL</h1> | |
<div class="container"> | |
<p>DDL. <i>CREATE, ALTER, DROP</i> sind die Schlüsselwörter.<br/> | |
Tabelle erstellen:</p> | |
<div class="code">CREATE TABLE tb_Student (MatrNr INT)<br/> | |
WHERE Preis ><br/> | |
DROP TABLE tb_Student<br/> | |
</div></div> | |
<div class="container"> | |
<p>DROP. Tabelle entfernen:</p> | |
<div class="code">DROP TABLE tb_Student<br/> | |
</div></div> | |
<div class="container"> | |
<p>...</p> | |
<div class="code">CREATE TABLE tb_Student (MatrNr INT, Name VARCHAR(50))<br/> | |
</div></div> | |
<div class="container"> | |
<p>Hinzufügen weiterer Attribute durch Ändern (<i>ALTER</i>):</p> | |
<div class="code">ALTER TABLE tb_Student ADD GebDatum DATE<br/> | |
ALTER TABLE tb_Student DROP GebDatum | |
</div></div> | |
<div class="container"> | |
<p>Primärschlüssel definieren.</p> | |
<div class="code">CREATE TABLE tb_Studentin (MatrNr INT,<br/> | |
Name VARCHAR(50), PRIMARY KEY (MatrNr)) | |
</div></div> | |
<div class="container"> | |
<p>Hinzufügen:</p> | |
<div class="code">ALTER TABLE tb_Student ADD PRIMARY KEY(MatrNr)<br/> | |
</div></div> | |
<div class="container"> | |
<p>...</p> | |
<div class="code">CREATE TABLE tb_Dozent (Name VARCHAR(50) NOT NULL,<br/> | |
m_w BIT, Gehalt REAL, PRIMARY KEY(Name))<br/> | |
</div></div> | |
<div class="container"> | |
<p>Hinzufügen eines Fremdschlüssels:</p> | |
<div class="code">ALTER TABLE tb_Student ADD Freundin INT<br/> | |
ALTER TABLE tb_Student ADD FOREIGN KEY(Freundin)<br/> | |
REFERENCES tb_Studentin(MatrNr) | |
</div></div> | |
<div class="container"> | |
<p>vollständige CREATE TABLE Anweisung</p> | |
<div class="code">CREATE TABLE tb_Personal(Nummer INT NOT NULL,<br/> | |
Name VARCHAR(30), PRIMARY KEY(Nummer), FOREIGN KEY(<br/> | |
</div></div> | |
<div class="unfloat"></div> | |
<h1>2.2 DML</h1> | |
<p>Einfügen, Verändern und Entfernen von Datensätzen.</p> | |
<div class="container"> | |
<p><i>INSERT, UPDATE, DELETE</i>.<br/> | |
Fügt einen Datensatz mit den angegebenen Werten ein.</p> | |
<div class="code">INSERT INTO tb_Studentin VALUES(20202,'Anna')<br/> | |
<br/> | |
</div></div> | |
<div class="container"> | |
<p><br/></p> | |
<div class="code">INSERT INTO tb_Student VALUES(21123,'Betina',#03/13/1991#,20202)<br/> | |
</div></div> | |
<div class="container"> | |
<p>Entfernen von Datensätzen.<br/> | |
Entfernt ALLE Datensätze:</p> | |
<div class="code">DELETE FROM tb_Studentin<br/> | |
WHERE MatrNr = 20202 | |
</div></div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"view":"split","fontsize":"100","seethrough":"","prefixfree":"1","page":"html"} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment