Add {filename} for Tutorium 4

This commit is contained in:
2025-02-02 17:23:53 +01:00
parent 37c749c030
commit 697d1184a7

View File

@@ -0,0 +1,61 @@
-- Example 1-to-1 relationship
-- PK cntry.code is FK ppl.country
SELECT cntry."name"
,cntry.capital
,ppl.population_growth
FROM "IDBS01_Q12025"."Country" cntry
INNER JOIN "IDBS01_Q12025"."Population" as ppl
ON cntry.code = ppl.country
limit 10;
-- Example 1-to-CN relationship
-- PK cntry.code is FK brd.country1
-- without mapping table
SELECT *
FROM "IDBS01_Q12025"."Country" cntry
FULL OUTER JOIN "IDBS01_Q12025".borders brd
ON cntry.code = brd.country1
WHERE 1 = 1
--AND brd.country1 IS NULL
AND cntry.code IS NULL
limit 10;
-- Example 1-to-CN relationship
--how to check if it is a 1-to-N relationship
SELECT *
FROM "IDBS01_Q12025"."Country" cntry
LEFT JOIN "IDBS01_Q12025"."geo_Desert" gdsrt
ON cntry.code = gdsrt.country
LEFT JOIN "IDBS01_Q12025"."Desert" dsrt
ON gdsrt.desert = dsrt."name"
limit 10;
--Example N-to-CM relationship
--with mapping table to N created by provicence
SELECT gm.mountain
,count (1) AS Anzahl
FROM "IDBS01_Q12025"."Country" cntry
LEFT JOIN "IDBS01_Q12025"."geo_Mountain" gm
ON cntry.code = gm.country
group by gm.mountain
having count(1) > 1
order by 2 desc
;
SELECT *
FROM "IDBS01_Q12025"."geo_Mountain"
WHERE "geo_Mountain".mountain = 'Popocatepetl'
limit 10;
SELECT *
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
limit 10;