Lösungen - Mirko Hans

Werbung
Christian-Weise-Gymnasium Zittau
Fachbereich Informatik
M. Hans
Lösungen zur SQL-Übung (Terra-Datenbank)
Aufgabennummer
Aufgabe 1
Aufgabe 2
Aufgabe 3
Aufgabe 4
Aufgabe 5
Aufgabe 6
Aufgabe 7
Aufgabe 8
Aufgabe 9
Aufgabe 10
Aufgabe 11
Lsgen_SQL_terra.rtf
SQL - Quelltext
Ergebnisrelation
SELECT K_NAME FROM KONTINENT;
4 Zeilen
SELECT I_NAME
FROM INSEL
WHERE INSELGRUPPE LIKE 'Phili%';
SELECT W_NAME
FROM WUESTE
WHERE WUESTENART = 'Sandwueste' AND FLAECHE > 25000;
SELECT B_NAME
FROM BERG
WHERE GEBIRGE LIKE '%alpen';
SELECT F_NAME
FROM FLUSS
WHERE MEER IN ( 'Ostsee', 'Nordsee') AND LAENGE > 1000;
SELECT ST_NAME, BREITE, LAENGE
FROM STADT
WHERE EINWOHNER > 1000000 AND BREITE BETWEEN -23.27 AND 23.27;
SELECT DISTINCT GEBIRGE
FROM BERG
WHERE HOEHE > 3000 AND GEBIRGE IS NOT NULL;
SELECT L_NAME, L_ID, EINWOHNER
FROM LAND
WHERE EINWOHNER > 45000000
ORDER BY 3 DESC;
SELECT 100-(SUM(FLAECHE)/(4*3.14*6.37*6.37)*100) AS
Meeresanteil_Prozent
FROM KONTINENT;
SELECT SUM(EINWOHNER) AS Einwohnerzahl
FROM LAND
WHERE L_ID IN ('D', 'CH', 'A');
SELECT INSELGRUPPE, count(I_NAME) AS Inselanzahl
FROM INSEL
9 Zeilen
-1-
9 Zeilen
5 Zeilen
4 Zeilen
62 Zeilen
35 Zeilen
25 Zeilen
73.5129803781
97500000.0000
42 Zeilen
Christian-Weise-Gymnasium Zittau
Fachbereich Informatik
M. Hans
GROUP BY INSELGRUPPE
HAVING INSELGRUPPE IS NOT NULL;
Aufgabe 12
Aufgabe 13
Aufgabe 14
Aufgabe 15
Aufgabe 16
SELECT F_NAME, count( ST_NAME) AS Staedteanzahl
FROM LIEGT_AN
GROUP BY F_NAME
HAVING F_NAME IS NOT NULL AND count(ST_NAME) > 2
ORDER BY 2;
SELECT ST_NAME
FROM HAT_SITZ_IN
GROUP BY ST_NAME
HAVING ST_NAME IS NOT NULL AND count(ABKUERZUNG) > 1;
SELECT DISTINCT G2.F_NAME
FROM GEO_FLUSS AS G1 INNER JOIN GEO_FLUSS AS G2 ON G1.F_NAME =
G2.F_NAME
WHERE G1.L_ID = 'D' AND G2.L_ID = 'A';
SELECT I_NAME, FLAECHE
FROM INSEL
WHERE FLAECHE IN (SELECT max(FLAECHE) AS INSELFLAECHE FROM INSEL);
SELECT DISTINCT L_NAME, HAUPTSTADT
FROM LAND LEFT JOIN IST_MITGLIED_VON ON LAND.L_ID =
IST_MITGLIED_VON.L_ID
WHERE LAND.L_ID NOT IN (SELECT DISTINCT L_ID FROM IST_MITGLIED_VON
WHERE ABKUERZUNG = 'UNO');
Teilaufgabe 1
21 Zeilen
10 Zeilen
1 Zeile
1 Zeile
30 Zeilen
53 Zeilen
SELECT L_NAME, EINWOHNER, FLAECHE, UMFASST.PROZENT
FROM LAND INNER JOIN UMFASST ON LAND.L_ID = UMFASST.L_ID
WHERE UMFASST.K_NAME = 'Afrika';
Aufgabe 17
Teilaufgabe 2
53 Zeilen
SELECT DISTINCT LAND.L_NAME,
LAND.FLAECHE/(KONTINENT.FLAECHE*1000000)*100 AS Flaecheninhalt
FROM LAND INNER JOIN (UMFASST INNER JOIN KONTINENT ON UMFASST.K_NAME =
KONTINENT.K_NAME) ON LAND.L_ID = UMFASST.L_ID
WHERE (((UMFASST.K_NAME)='Afrika') AND ((LAND.FLAECHE) IS NOT Null));
Lsgen_SQL_terra.rtf
-2-
Christian-Weise-Gymnasium Zittau
Aufgabe 18
Aufgabe 19
Aufgabe 20
(ist leider falsch)
Aufgabe 21
Aufgabe 22
Lsgen_SQL_terra.rtf
Fachbereich Informatik
SELECT L_NAME, UMFASST.K_NAME AS Kontinente
FROM LAND INNER JOIN UMFASST ON LAND.L_ID = UMFASST.L_ID
WHERE UMFASST.PROZENT < 100;
SELECT DISTINCT LAND.L_NAME, GEO_EBENE.E_NAME, EBENE.HOEHE
FROM (LAND INNER JOIN (EBENE INNER JOIN GEO_EBENE ON EBENE.E_NAME =
GEO_EBENE.E_NAME) ON LAND.L_ID = GEO_EBENE.L_ID) INNER JOIN UMFASST ON
LAND.L_ID = UMFASST.L_ID
WHERE UMFASST.K_NAME='Europa' AND LAND.L_ID IN (SELECT GEO_EBENE.L_ID
FROM GEO_EBENE INNER JOIN EBENE ON GEO_EBENE.E_NAME = EBENE.E_NAME
WHERE EBENE.E_NAME IS NOT NULL)
ORDER BY 3;
SELECT land.L_NAME
FROM land INNER JOIN stadt ON land.L_ID = stadt.L_ID
WHERE land.L_ID In (SELECT ist_mitglied_von.l_id FROM ist_mitglied_von
WHERE abkuerzung = 'EU')
GROUP BY land.L_NAME, land.EINWOHNER, stadt.EINWOHNER
HAVING (((Sum(stadt.einwohner))/land.einwohner)*100)>10;
SELECT f1.F_NAME, f1.FLUSS, f2.MEER, f2.SEE
FROM FLUSS AS f1 INNER JOIN FLUSS AS f2 ON f1.FLUSS = f2.F_NAME
WHERE f2.MEER IS NOT NULL OR f2.SEE IS NOT NULL;
SELECT STADT.ST_NAME, HAT_SITZ_IN.ABKUERZUNG
FROM STADT INNER JOIN HAT_SITZ_IN ON STADT.ST_NAME =
HAT_SITZ_IN.ST_NAME
WHERE HAT_SITZ_IN.L_ID = 'USA' AND STADT.EINWOHNER > 1000000;
-3-
M. Hans
6 Zeilen
6 Zeilen
Daenemark;-1
Grossbritannien;-1
Irland;-1
Luxemburg;-1
Oesterreich;-1
43 Zeilen
2 Zeilen
Herunterladen