diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..e7d2816 Binary files /dev/null and b/.DS_Store differ diff --git a/README.md b/README.md index 9e4e487..fc7c43a 100644 --- a/README.md +++ b/README.md @@ -19,4 +19,7 @@ GIT Repository for for the Module CDS-104 ## GROUP BY -## HAVING \ No newline at end of file +## HAVING + +## JOIN + diff --git a/movies/.DS_Store b/movies/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/movies/.DS_Store differ diff --git a/movies/order_by.sql b/movies/order_by.sql new file mode 100644 index 0000000..a4638e7 --- /dev/null +++ b/movies/order_by.sql @@ -0,0 +1 @@ +SELECT * FROM movies ORDER BY title DESC; \ No newline at end of file diff --git a/murder_mystery/murder_mystery b/murder_mystery/murder_mystery new file mode 100644 index 0000000..b309e9d Binary files /dev/null and b/murder_mystery/murder_mystery differ diff --git a/murder_mystery/querys.sql b/murder_mystery/querys.sql new file mode 100644 index 0000000..787f24b --- /dev/null +++ b/murder_mystery/querys.sql @@ -0,0 +1,21 @@ +SELECT * FROM crime_scene_report WHERE city = 'SQL City' AND date = 20180115 AND type = 'murder'; +-- Security footage shows that there were 2 witnesses. The first witness lives at the last house on "Northwestern Dr". +-- The second witness, named Annabel, lives somewhere on "Franklin Ave". + +-- first witness +SELECT * FROM person WHERE address_street_name = 'Northwestern Dr' ORDER BY address_number DESC LIMIT 1; +-- id 14887 name Morty Schapiro license_id 118009 ssn 111564949 + +SELECT transcript FROM interview WHERE person_id = 14887; +-- I heard a gunshot and then saw a man run out. He had a "Get Fit Now Gym" bag. The membership number on the bag started with "48Z". +-- Only gold members have those bags. The man got into a car with a plate that included "H42W". + +SELECT * FROM get_fit_now_member WHERE id LIKE '48Z%' AND membership_status = 'gold'; +SELECT * FROM drivers_license WHERE plate_number LIKE '%H42W%'; + +-- second witness +SELECT * FROM person WHERE name LIKE '%Annabel%' AND address_street_name = 'Franklin Ave'; +-- id 16371 name Annabel Miller license_id 490173 ssn 318771143 +SELECT transcript FROM interview WHERE person_id = 16371; +-- I saw the murder happen, and I recognized the killer from my gym when I was working out last week on January the 9th. +SELECT * FROM get_fit_now_check_in WHERE check_in_date = 20180109 AND membership_id LIKE '48Z%' diff --git a/normalformen/Übung_NF.xlsx b/normalformen/Übung_NF.xlsx new file mode 100644 index 0000000..50b5441 Binary files /dev/null and b/normalformen/Übung_NF.xlsx differ diff --git a/shop/ctreate_table.sql b/shop/ctreate_table.sql new file mode 100644 index 0000000..ad47f71 --- /dev/null +++ b/shop/ctreate_table.sql @@ -0,0 +1,59 @@ +/*CREATE TABLE kunde +( + id SERIAL PRIMARY KEY, + vorname CHARACTER VARYING NOT NULL, + name CHARACTER VARYING NOT NULL, + email CHARACTER VARYING NOT NULL, + passwort CHARACTER VARYING NOT NULL +); + +CREATE TABLE bestellung +( + id SERIAL PRIMARY KEY, + datum DATE +); + +CREATE TABLE bestellposition +( + bestellung_id INTEGER, + produkt_id INTEGER, + anzahl INTEGER +); + +CREATE TABLE produkte +( + id SERIAL PRIMARY KEY, + name CHARACTER VARYING NOT NULL, + beschreibung CHARACTER VARYING NOT NULL, + preis NUMERIC(8,2) NOT NULL, + lagerbestand INTEGER NOT NULL +);*/ + +CREATE TABLE kunde +( +id INTEGER PRIMARY KEY, +name CHARACTER VARYING NOT NULL, +email CHARACTER VARYING NOT NULL, +password CHARACTER VARYING NOT NULL +); +CREATE TABLE bestellung +( +id INTEGER PRIMARY KEY, +kunde_id INTEGER NOT NULL, +datum DATE NOT NULL +); + +CREATE TABLE produkt +( +id INTEGER PRIMARY KEY, +name CHARACTER VARYING NOT NULL, +beschreibung CHARACTER VARYING NOT NULL, +anzahl INTEGER NOT NULL, +preis NUMERIC(8,2) NOT NULL +); +CREATE TABLE bestellung_produkt +( +bestellung_id INTEGER NOT NULL, +produkt_id INTEGER NOT NULL, +anzahl INTEGER NOT NULL +); \ No newline at end of file diff --git a/shop/insert.sql b/shop/insert.sql new file mode 100644 index 0000000..021e31f --- /dev/null +++ b/shop/insert.sql @@ -0,0 +1,20 @@ +INSERT INTO kunde VALUES +(1, 'Ingmar', 'ingmar@example.com', 'FN239v_d32%nsej3'), +(3, 'Maria', 'maria@example.com', 'abc_%&'), +(4, 'John', 'john@example.com', 'KeepCalm'), +(2, 'Peter', 'peter@example.com', 'lskdfjlskdfj'); +INSERT INTO produkt VALUES +(1, 'Keyboard', 'QUERTZ', 12, 29.99), +(2, 'Notebook', 'Standard', 1, 1299.00), +(3, 'Monitor', 'Flat', 5, 389.90), +(4, 'Maus', 'Kabellos', 2, 19.00); +INSERT INTO bestellung VALUES +(1, 1, '2022-01-03'), +(2, 1, '2022-01-07'), +(3, 2, '2022-01-09'); +INSERT INTO bestellung_produkt VALUES +(1, 1, 2), +(1, 2, 1), +(2, 3, 4), +(3, 2, 2), +(3, 4, 1); \ No newline at end of file diff --git a/shop/join.sql b/shop/join.sql new file mode 100644 index 0000000..50ddd33 --- /dev/null +++ b/shop/join.sql @@ -0,0 +1,10 @@ +SELECT bestellung.id, kunde.name +FROM bestellung +JOIN kunde ON kunde.id = bestellung.kunde_id; + +SELECT produkt.id, produkt.name, bestellung_produkt.anzahl +FROM produkt +JOIN bestellung_produkt ON produkt.id = bestellung_produkt.bestellung_id; + +SELECT * FROM bestellung, produkt +JOIN bestellung_produkt on bestellung.id = bestellung_produkt.bestellung_id; \ No newline at end of file