Skip to content

SQL Exercise 1

Use the Projects Schema for the following queries.

-- ---------------------------------------------------------------------- -
-- 1. Beispiel: Subselect (1.Punkt)
-- ---------------------------------------------------------------------- -
-- region
-- Finden Sie das Subprojekt mit dem hoechsten Wert fuer den FOCUS_RESEARCH.
-- Geben Sie fuer das Subprojekt die folgenden Spalten aus:
-- DESCRIPTION, PROJECT_ID, FOCUS_RESEARCH
-- Hinweis: Beachten Sie dass es mehrere Subprojekte mit einem maximalen
-- FOCUS_RESEARCH Wert geben kann.
-- Formulieren Sie die Abfrage einmal als JOIN auf ein Subselect
-- und einmal als WHERE Einschränkung auf ein Subselect
-- Tabellen: SUBPROJECTS
-- 1.Abfrage
-- 2.Abfrage
-- endregion
-- ---------------------------------------------------------------------- -
-- 2. Beispiel: Subselect (1.Punkt)
-- ---------------------------------------------------------------------- -
-- region
-- Mit welcher LEGAL_FOUNDATION werden die meisten Projekte umgesetzt. Geben
-- Sie die LEGAL_FOUNDATION und die Anzahl der Projekte mit der entsprechenden
-- LEGAL_FOUNDATION aus.
-- Geben Sie die folgenden Spalten aus: LEGAL_FOUNDATION, PROJECT_COUNT
-- Tabellen: PROJECTS_BT
-- 1.Abfrage
-- endregion
-- ---------------------------------------------------------------------- -
-- 3. Beispiel: Subselect (1.Punkt)
-- ---------------------------------------------------------------------- -
-- region
-- Finden Sie das Projekt mit den meisten Subprojekten. Geben Sie fuer das
-- Projekt die folgenden Spalten aus: TITLE, SUBPROJECT_COUNT
-- @SUBPROJECT_COUNT: Gibt die Anzahl der Subprojekte eines Projekts an.
-- Hinweis: Ein Projekt besteht aus mehreren Subprojekten.
-- Tabellen: PROJECTS_BT, SUBPROJECTS
-- endregion
-- ---------------------------------------------------------------------- -
-- 4. Beispiel: Subselect (1.Punkt)
-- ---------------------------------------------------------------------- -
-- region
-- Welches Forschungsfoerderungsprojekt besitzt die meisten Foerderungsprogramme?
-- Hinweis: Forschungsfoerderungsprojekte werden in der RESEARCH_FUNDING_PROJECTS
-- Tabelle gespeichert.
-- Hinweis: Ob ein Projekt in einem Foerderungsprogramm ist wird in folgenden
-- Spalten gespeichert: IS_EU_SPONSORED, IS_FWF_SPONSORED, IS_FFG_SPONSORED.
-- Ist fuer einen Projekt Datensatz in einer der 3 Spalten eine 1 eingetragen
-- wird das Projekt vom entsprechenden Foerderungsprogramm unterstuetzt.
-- Ausgabe: TITLE, PROGRAMM_COUNT
-- @PROGRAMM_COUNT: Die Spalte gibt die Anzahl der Foerderprogramme aus.
-- Tabellen: PROJECTS_BT, RESEARCH_FUNDING_PROJECTS
-- endregion
-- ---------------------------------------------------------------------- -
-- 5. Beispiel: Subselect (1.Punkt)
-- ---------------------------------------------------------------------- -
-- region
-- Finden Sie das Projekt mit der hoechsten Projektfoerderung.
-- Hinweis: Die Projektfoerderung wird in der PROJECT_DEBIOTRS Tabelle verwaltet. Ein
-- PROJECT_DEBITORS Datensatz beschreibt welches Projekt von welchem Geldgeber mit
-- welchem Geldbetrag unterstuetzt wird.
-- Ausgabe: TITLE, FUNDING_AMOUNT
-- @FUNDING_AMOUNG: Die gesamte Projektfoerderung eines Projekts
-- Tabellen: PROJECTS, PROJECT_DEBITORS
-- endregion
-- ---------------------------------------------------------------------- -
-- 6. Beispiel: Subselect (1.Punkt)
-- ---------------------------------------------------------------------- -
-- region
-- Finden Sie für jedes Subprojekt das Projekt mit dem höchsten Wert für
-- APPLIED_RESEARCH. Sortieren Sie das Ergebnis nach der PROJECT_ID
-- Ausgabe: PROJECT_ID, TITLE, SUBPROJECT_ID, APPLIED_RESEARCH
-- Tabellen: PROJECTS_BT, SUBPROJECTS
-- endregion
-- ---------------------------------------------------------------------- -
-- 7. Beispiel: Subselect (1.Punkt)
-- ---------------------------------------------------------------------- -
-- region
-- Geben Sie an wieviele Projekte es pro Projekttyp gibt.
-- Hinweis: Es existieren 3 Projekttypen
--
-- Forschungsförderungsprojekte -> RESEARCH_FUNDING_PROJECTS
-- Auftragsforschungsprojekte -> REQEUST_FUNDING_PROJECTS
-- Managementprojekte -> MANAGEMENT_PROJECTS
-- Ausgabe: PROJECT_TYPE, AMOUNT
-- @PROJECT_TPYE: Je nach Projekttyp wird eine andere Zeichenkette
-- ausgegeben.
--
-- Forschungsförderungsprojekte -> RESEARCH_FUNDING
-- Auftragsforschungsprojekte -> REQEUST_FUNDING
-- Managementprojekte -> MANAGEMENT
-- @AMOUNT: Anzahl der Projekte je nach PROJECT_TYPE
-- Tabellen: PROJECTS_BT, REQUEST_FUNDING_PROJECTS, RESEARCH_FUNDING_PROJECTS
-- MANAGEMENT_PROJECTS
-- endregion
-- ---------------------------------------------------------------------- -
-- 6. Beispiel: Subselect (2.Punkte)
-- ---------------------------------------------------------------------- -
-- region
-- Finden Sie fuer jeden Projekttypen das Projekt mit der hoechsten Projektfoerderung.
-- Hinweis: Es gibt 2 Projekttypen -> REQUEST_FUNDING_PROJECTS, RESEARCH_FUNDING_PROJECTS
-- Hinweis: Die Projektfoerderung wird in der PROJECT_DEBIOTRS Tabelle verwaltet. Ein
-- PROJECT_DEBITORS Datensatz beschreibt welches Projekt von welchem Geldgeber mit
-- welchem Geldbetrag unterstuetzt wird.
-- Ausgabe: PROJECT_TYPE, TITLE, PROJECT_FUNDING
-- @PROJECT_TYPE: Ist ein Projekt ein REQUEST_FUNDING_PROJECT wird die Zeichenkette 'REQUEST_FUNDING'
-- ausgegeben. Fuer RESEARCH_FUNDING_PROJECTs wird die Zeichenkette 'RESEARCH_FUNDING'
-- ausgegeben.
-- @PROJECT_FUNDING: Die gesamte Projektfoerderung eines Projekts
-- Tabellen: PROJECTS, REQUEST_FUNDING_PROJECTS, RESEARCH_FUNDING_PROJECTS, PROJECT_DEBITORS
-- endregion