Skip to content

Instantly share code, notes, and snippets.

@iamsebastian
Created October 19, 2012 10:45
Show Gist options
  • Save iamsebastian/3917502 to your computer and use it in GitHub Desktop.
Save iamsebastian/3917502 to your computer and use it in GitHub Desktop.
Untitled
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;
}
<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>
{"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