diff --git a/Tage/2-3.md b/Tage/2-3/2-3.md similarity index 100% rename from Tage/2-3.md rename to Tage/2-3/2-3.md diff --git a/Tage/4/README.md b/Tage/4/README.md new file mode 100644 index 0000000..e69de29 diff --git a/Tage/4/lb1/LB1 b.pdf b/Tage/4/lb1/LB1 b.pdf new file mode 100644 index 0000000..8b49219 Binary files /dev/null and b/Tage/4/lb1/LB1 b.pdf differ diff --git a/Tage/4/lb1/lb1-tsekov-stelian-loesung.md b/Tage/4/lb1/lb1-tsekov-stelian-loesung.md new file mode 100644 index 0000000..4565240 --- /dev/null +++ b/Tage/4/lb1/lb1-tsekov-stelian-loesung.md @@ -0,0 +1,48 @@ +# LB1 b + +## Inhaltsverzeichnis +- [LB1 b](#lb1-b) + - [Inhaltsverzeichnis](#inhaltsverzeichnis) + - [Lösungsscript](#lösungsscript) + +## Lösungsscript +```sql +# Auftrag 1 +CREATE SCHEMA if not exists db_MyFlower +DEFAULT CHARACTER SET utf8mb4 +DEFAULT COLLATE utf8mb4_unicode_ci; +USE db_MyFlower; + +# Auftrag 2 +CREATE TABLE if not exists Bestellung ( + id INT NOT NULL AUTO_INCREMENT, + Best_Nummer VARCHAR(5) NOT NULL, + Lieferdatum DATE NOT NULL, + Lieferadresse VARCHAR(60), + Lieferzeit TIME, + Betrag DECIMAL(10,2), + PRIMARY KEY (id) +); + +# Auftrag 3 +INSERT INTO Bestellung (Best_Nummer, Lieferadresse, Lieferdatum, Lieferzeit, Betrag) +VALUES ('#0001', 'Musterstrasse 3', '2023-08-09', '17:08', '10.05'); + +# Auftrag 4 +INSERT INTO Bestellung (Best_Nummer, Lieferadresse, Lieferdatum, Betrag) +VALUES ('#0002', 'Musterville 32', '2023-12-10', '100.20'); + +# Auftrag 6 +UPDATE Bestellung +SET Betrag = Betrag + 20 +WHERE id = 1; + +# Auftrag 7 +SELECT id, Lieferdatum, Lieferzeit, Lieferadresse +FROM Bestellung +WHERE (Lieferdatum >= '2023-01-01' AND Lieferzeit > '12:00') OR Lieferadresse = 'Zürich' +ORDER BY Lieferdatum DESC, Lieferzeit ASC; + +# Auftrag 5 +ALTER TABLE Bestellung MODIFY Lieferzeit DateTime; +``` \ No newline at end of file diff --git a/Tage/4/lb1/tsekov.sql b/Tage/4/lb1/tsekov.sql new file mode 100644 index 0000000..2ae8a7e --- /dev/null +++ b/Tage/4/lb1/tsekov.sql @@ -0,0 +1,38 @@ +# Auftrag 1 +CREATE SCHEMA if not exists db_MyFlower +DEFAULT CHARACTER SET utf8mb4 +DEFAULT COLLATE utf8mb4_unicode_ci; +USE db_MyFlower; + +# Auftrag 2 +CREATE TABLE if not exists Bestellung ( + id INT NOT NULL AUTO_INCREMENT, + Best_Nummer VARCHAR(5) NOT NULL, + Lieferdatum DATE NOT NULL, + Lieferadresse VARCHAR(60), + Lieferzeit TIME, + Betrag DECIMAL(10,2), + PRIMARY KEY (id) +); + +# Auftrag 3 +INSERT INTO Bestellung (Best_Nummer, Lieferadresse, Lieferdatum, Lieferzeit, Betrag) +VALUES ('#0001', 'Musterstrasse 3', '2023-08-09', '17:08', '10.05'); + +# Auftrag 4 +INSERT INTO Bestellung (Best_Nummer, Lieferadresse, Lieferdatum, Betrag) +VALUES ('#0002', 'Musterville 32', '2023-12-10', '100.20'); + +# Auftrag 6 +UPDATE Bestellung +SET Betrag = Betrag + 20 +WHERE id = 1; + +# Auftrag 7 +SELECT id, Lieferdatum, Lieferzeit, Lieferadresse +FROM Bestellung +WHERE (Lieferdatum >= '2023-01-01' AND Lieferzeit > '12:00') OR Lieferadresse = 'Zürich' +ORDER BY Lieferdatum DESC, Lieferzeit ASC; + +# Auftrag 5 +ALTER TABLE Bestellung MODIFY Lieferzeit DateTime; \ No newline at end of file diff --git a/Tage/5/README.md b/Tage/5/README.md new file mode 100644 index 0000000..c774617 --- /dev/null +++ b/Tage/5/README.md @@ -0,0 +1,31 @@ +# Tag 5 +## Inhaltsverzeichnis +- [Tag 5](#tag-5) + - [Inhaltsverzeichnis](#inhaltsverzeichnis) + - [Select Alias](#select-alias) + +## Select Alias +SQL Script-Ergänzung: +```sql +-- -- Aufgabe 1 -- -- +SELECT kundenliste.kunde_id, kundenliste.name, kundenliste.fk_ort_postleitzahl +FROM kunden AS kundenliste +WHERE kundenliste.fk_ort_postleitzahl > 80000; + +SELECT o.name, k.name, k.fk_ort_postleitzahl +FROM kunden AS k INNER JOIN orte AS o +ON k.fk_ort_postleitzahl = o.id_postleitzahl +WHERE o.name LIKE '%n'; + +-- -- Aufgabe 2 -- -- +SELECT k.kunde_id, k.name, prfz.name +FROM kunden AS k INNER JOIN orte AS prfz +ON prfz.id_postleitzahl = k.fk_ort_postleitzahl +ORDER BY k.kunde_id; + +SELECT k.name, o.id_postleitzahl, o.name +FROM kunden AS k INNER JOIN orte AS o +ON k.fk_ort_postleitzahl = o.id_postleitzahl +WHERE k.name LIKE '%a%' +AND o.name LIKE '%u%'; +``` \ No newline at end of file diff --git a/Tage/5/kundenDatenbank.sql b/Tage/5/kundenDatenbank.sql new file mode 100644 index 0000000..1875c1f --- /dev/null +++ b/Tage/5/kundenDatenbank.sql @@ -0,0 +1,70 @@ +DROP DATABASE IF EXISTS `kunden`; +CREATE DATABASE `kunden`; +USE `kunden`; +-- MySQL dump 10.13 Distrib 5.7.12, for osx10.9 (x86_64) +-- +-- Host: 127.0.0.1 Database: kunden +-- ------------------------------------------------------ +-- Server version 5.5.38 + +-- +-- Table structure for table `orte` +-- +DROP TABLE IF EXISTS `orte`; +CREATE TABLE `orte` ( + `id_postleitzahl` varchar(5) NOT NULL, + `name` varchar(255) NOT NULL, + `einwohnerzahl` int(11) DEFAULT NULL, + PRIMARY KEY (`id_postleitzahl`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + + +-- +-- Table structure for table `kunden` +-- + +DROP TABLE IF EXISTS `kunden`; +CREATE TABLE `kunden` ( + `kunde_id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(200) NOT NULL, + `fk_ort_postleitzahl` varchar(5) NOT NULL, + PRIMARY KEY (`kunde_id`), + KEY (`fk_ort_postleitzahl`) +) +ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `orte` +-- +INSERT INTO `orte` VALUES ('80995','München',1000000),('79312','Emmendingen',40000),('79111','Freiburg',280000),('20095','Hamburg',2000000); + +-- +-- Dumping data for table `kunden` +-- +INSERT INTO `kunden` VALUES (1,'John','79111'),(2,'Herbert','79312'),(3,'Sabina','79312'),(4,'Mary','79111'),(5,'Heinrich','79111'),(6,'Usal','80995'),(7,'Johannes','80995'),(8,'Carla','79312'),(9,'Ludowika','79111'),(10,'Niemand','99999'); + + +-- Select Alias -- + +-- -- Aufgabe 1 -- -- + +SELECT kundenliste.kunde_id, kundenliste.name, kundenliste.fk_ort_postleitzahl +FROM kunden AS kundenliste +WHERE kundenliste.fk_ort_postleitzahl > 80000; + +SELECT o.name, k.name, k.fk_ort_postleitzahl +FROM kunden AS k INNER JOIN orte AS o +ON k.fk_ort_postleitzahl = o.id_postleitzahl +WHERE o.name LIKE '%n'; + +-- -- Aufgabe 2 -- -- +SELECT k.kunde_id, k.name, prfz.name +FROM kunden AS k INNER JOIN orte AS prfz +ON prfz.id_postleitzahl = k.fk_ort_postleitzahl +ORDER BY k.kunde_id; + +SELECT k.name, o.id_postleitzahl, o.name +FROM kunden AS k INNER JOIN orte AS o +ON k.fk_ort_postleitzahl = o.id_postleitzahl +WHERE k.name LIKE '%a%' +AND o.name LIKE '%u%';