![[sql_merged.pdf]]


SQL Tabellen sind multimengen von tupeln
Duplikate möglich!!!

## SQL Data Definition Language DDL
1. CREATE TABLE: zum Erstellen einer neuen Tabelle 
2. ALTER TABLE: zum Ändern einer bestehenden Tabelle 
3. DROP TABLE: zum Löschen einer Tabelle
[[DDL Data Definition Language SQL]]

## SQL Data Manipulation Language DML
1. INSERT
2. UPDATE
3. DELETE

[[DML Data Manipulation Language SQL]]


| SQL        | Argumente          | Relationale Algebra |
| ---------- | ------------------ | ------------------- |
| **SELECT** | Liste von Namen    | $\pi$               |
| **FROM**   | Liste von Tabellen | $\times$            |
| **WHERE**  | Bedingung          | $\sigma$            |



### SELECT
```
SELECT MatrNr, Name, Semester from Student
```

Spalte umbenennen
`SELECT MatrNr AS InsassenNr from Student`

Keine Duplikate
`SELECT DISTINCT Semester AS Jahrgänge from Student`

### WHERE

```
SELECT * from Student WHERE Semester = 2
---
SELECT * from Student s WHERE s.Semester = 2 AND s.Name='Byleth' 
```

#### Anatomie einer WHERE Klausel
Vergleichsoperatoren: <,>,=,<=,>=,<>
BETWEEN
LIKE
IS NULL / IS NOT NULL
AND, OR, NOT
+,-,\*,/
IN, NOT IN, $\theta$ ANY, $\theta$ ALL, EXISTS mit theta = Vergleichsoperator
