---
# System prepended metadata

title: SQL Stuff

---

SQL Stuff
===

# Tabelle
Sql verwendet im hintergrund immer Tabellen um Daten abzuspeichern.

Für diese Beispiele gibt es eine Tabelle die __"Teilnehmer"__ heißt.
| #Name | Alter | IT-Kurs |
| -------- | -------- | -------- |
| Claudia | 13 | Game-Dev-2D |
| Jovan | 17 | Programmieren 4.0 |
| Livi | 16 | 3D-Art-Design |
| Kajetan | 15 | Programmieren 4.0 |

# Select
Mit Select können Teile der Tabelle ausgegeben werden.

---
### Gibt die ganze Tabelle zurück.
```sql
select * from Teilnehmer;
```

| #Name | Alter | IT-Kurs |
| -------- | -------- | -------- |
| Claudia | 13 | Game-Dev-2D |
| Jovan | 17 | Programmieren 4.0 |
| Livi | 16 | 3D-Art-Design |
| Kajetan | 15 | Programmieren 4.0 |

---
### Gibt alle Werte in der Spalte Name und IT-Kurs zurück.
```sql
select Name, IT-Kurs from Teilnehmer;
```

| #Name | Alter | IT-Kurs |
| -------- | -------- | -------- |
| Claudia | 13 | Game-Dev-2D |
| Jovan | 17 | Programmieren 4.0 |
| Livi | 16 | 3D-Art-Design |
| Kajetan | 15 | Programmieren 4.0 |

---
### Git den Namel aller Personen zurück die in Game-Dev-2D sind.
```sql
select Name from Teilnehmer where IT-Kurs = "Game-Dev-2D";
```
| #Name |
| -------- |
| Claudia |

---
### Gibt den Namen der Person zurück die in Game-Dev-2D ist und 15 Jahre alt ist.
```sql
select Name from Teilnehmer where IT-Kurs = "Programmieren 4.0" and Alter = 15;
```
| #Name | Alter | IT-Kurs |
| -------- | -------- | -------- |
| Kajetan | 15 | Programmieren 4.0 |

---
### Mit Order-By kann man die Ausgabe vom Select sortieren. Das asc am Schluss steht für "Ascending".
```sql
select * from Teilnehmer order by Alter asc;
```
| #Name | Alter | IT-Kurs |
| -------- | -------- | -------- |
| Claudia | 13 | Game-Dev-2D |
| Kajetan | 15 | Programmieren 4.0 |
| Livi | 16 | 3D-Art-Design |
| Jovan | 17 | Programmieren 4.0 |

---
# Update
Mit Update können Werte in der Tabelle geändert werden.

---
### Ändert von allen Teilnehmern den IT-Kurs zu Game-Dev-2D.
```sql
update Teilnehmer set IT-Kurs = 'Game-Dev-2D';
```

| #Name | Alter | IT-Kurs |
| -------- | -------- | -------- |
| Claudia | 13 | Game-Dev-2D |
| Jovan | 17 | Game-Dev-2D |
| Livi | 16 | Game-Dev-2D |
| Kajetan | 15 | Game-Dev-2D |

---
### Ändert von allen Teilnehmern die Jünger als 16 Jahre sind den IT-Kurs zu Game-Dev-2D.
```sql
update Teilnehmer set IT-Kurs = 'Game-Dev-2D' where Alter < 16;
```

| #Name | Alter | IT-Kurs |
| -------- | -------- | -------- |
| Claudia | 13 | Game-Dev-2D |
| Jovan | 17 | Programmieren 4.0 |
| Livi | 16 | 3D-Art-Design |
| Kajetan | 15 | Game-Dev-2D |

---
### Ändert von allen Teilnehmern die Jünger als 16 Jahre sind oder Jovan heißen den IT-Kurs zu Game-Dev-2D.
```sql
update Teilnehmer set IT-Kurs = 'Game-Dev-2D' where Alter < 16 or Name = 'Jovan';
```

| #Name | Alter | IT-Kurs |
| -------- | -------- | -------- |
| Claudia | 13 | Game-Dev-2D |
| Jovan | 17 | Game-Dev-2D |
| Livi | 16 | 3D-Art-Design |
| Kajetan | 15 | Game-Dev-2D |

# Insert
Mit Insert kann man neue Werte in eine Tabelle einfügen.

---
### Fügt einen neuen Teilnehmer hinzu.
```sql
insert into Teilnehmer values('Pascal' , 12, 'Programmieren 1.0');
```

| #Name | Alter | IT-Kurs |
| -------- | -------- | -------- |
| Claudia | 13 | Game-Dev-2D |
| Jovan | 17 | Game-Dev-2D |
| Livi | 16 | 3D-Art-Design |
| Kajetan | 15 | Game-Dev-2D |
| Pascal | 12 | Programmieren 1.0 |
