Tutorium_5_complex sql statements für Tutorium 5
This commit is contained in:
131
Tutorium_5_complex sql statements
Normal file
131
Tutorium_5_complex sql statements
Normal file
@@ -0,0 +1,131 @@
|
||||
--
|
||||
-- connection of inner, left and right joins. See slide 9
|
||||
--
|
||||
SELECT cntry.name
|
||||
,prv.name
|
||||
,gm.mountain
|
||||
,brds.country1
|
||||
FROM "IDBS01_Q12025"."Country" cntry
|
||||
INNER JOIN "IDBS01_Q12025"."Province" prv
|
||||
ON cntry.code = prv.country
|
||||
LEFT OUTER JOIN "IDBS01_Q12025"."geo_Mountain" gm
|
||||
ON prv.country = gm.country
|
||||
AND prv."name" = gm.province
|
||||
RIGHT OUTER JOIN "IDBS01_Q12025"."borders" brds
|
||||
ON brds.country1 = cntry.code
|
||||
limit 10;
|
||||
|
||||
--
|
||||
-- Difference UNION and UNION ALL
|
||||
--
|
||||
SELECT cntry.name
|
||||
FROM "IDBS01_Q12025"."Country" cntry
|
||||
UNION
|
||||
SELECT cntry.name
|
||||
FROM "IDBS01_Q12025"."Country" cntry
|
||||
ORDER BY 1
|
||||
limit 10;
|
||||
|
||||
--
|
||||
-- Transferaufgabe
|
||||
--
|
||||
|
||||
--
|
||||
-- Aufgabe 1
|
||||
--
|
||||
|
||||
SELECT city."name" AS Stadtname
|
||||
,city.population AS Bevoelkerung
|
||||
FROM "IDBS01_Q12025"."Country" cntry
|
||||
RIGHT OUTER JOIN "IDBS01_Q12025"."City" city
|
||||
ON cntry.code = city.country
|
||||
WHERE cntry."name" = 'Austria'
|
||||
;
|
||||
|
||||
--
|
||||
-- Aufgabe 2
|
||||
--
|
||||
|
||||
SELECT borderCnrty."name" AS Grenzland
|
||||
,borderCnrty.population AS Bevoelkerung
|
||||
FROM "IDBS01_Q12025"."Country" cntry
|
||||
INNER JOIN "IDBS01_Q12025"."borders" brds1
|
||||
ON brds1.country1 = cntry.code
|
||||
INNER JOIN "IDBS01_Q12025"."Country" borderCnrty
|
||||
ON borderCnrty.code = brds1.country2
|
||||
WHERE cntry."name" = 'Germany'
|
||||
ORDER BY brds1.length DESC
|
||||
;
|
||||
|
||||
--
|
||||
-- Aufgabe 3
|
||||
--
|
||||
|
||||
CREATE VIEW "IDBS01_Q12025"."BorderCountry" AS
|
||||
SELECT borderCnrty."name" AS Grenzland
|
||||
,borderCnrty.population AS Bevoelkerung
|
||||
FROM "IDBS01_Q12025"."Country" cntry
|
||||
INNER JOIN "IDBS01_Q12025"."borders" brds1
|
||||
ON brds1.country1 = cntry.code
|
||||
INNER JOIN "IDBS01_Q12025"."Country" borderCnrty
|
||||
ON borderCnrty.code = brds1.country2
|
||||
WHERE cntry."name" = 'Germany'
|
||||
ORDER BY brds1.length DESC
|
||||
;
|
||||
|
||||
--
|
||||
-- Aufgabe 4
|
||||
--
|
||||
|
||||
SELECT *
|
||||
FROM "IDBS01_Q12025"."borders"
|
||||
WHERE country1 = 'BY'
|
||||
;
|
||||
|
||||
START TRANSACTION;
|
||||
INSERT INTO "IDBS01_Q12025"."borders" (Country1, Country2, Length) VALUES ('PL','BY',605);
|
||||
INSERT INTO "IDBS01_Q12025"."borders" (Country1, Country2, Length) VALUES ('BY','PL',605);
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
DELETE FROM "IDBS01_Q12025"."borders"
|
||||
WHERE country1 = 'PL'
|
||||
AND country2 = 'BY'
|
||||
;
|
||||
DELETE FROM "IDBS01_Q12025"."borders"
|
||||
WHERE country1 = 'BY'
|
||||
AND country2 = 'PL'
|
||||
;
|
||||
COMMIT;
|
||||
|
||||
--
|
||||
-- Aufgabe 5
|
||||
--
|
||||
|
||||
SELECT *
|
||||
FROM "IDBS01_Q12025"."Country" cntry
|
||||
WHERE cntry.code = 'EAU'
|
||||
;
|
||||
|
||||
|
||||
START TRANSACTION;
|
||||
UPDATE "IDBS01_Q12025"."Country" SET Population = 44270000 WHERE Code = 'EAU';
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
UPDATE "IDBS01_Q12025"."Country" SET Population = 20158176 WHERE Code = 'EAU';
|
||||
COMMIT;
|
||||
|
||||
--
|
||||
-- Aufgabe 6
|
||||
--
|
||||
CREATE TABLE "IDBS01_Q12025"."BevoelklerungNeu"
|
||||
(ID INTEGER
|
||||
,LandCode VARCHAR(4)
|
||||
,datum DATE
|
||||
,population INTEGER
|
||||
,PRIMARY KEY(ID))
|
||||
;
|
||||
|
||||
DROP TABLE "IDBS01_Q12025"."BevoelklerungNeu";
|
||||
|
||||
Reference in New Issue
Block a user