Übungsaufgaben mit Lösungen

Ähnliche Dokumente
Übersicht der wichtigsten MySQL-Befehle

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

ARBEITSBLATT ZUR SQL-BEFEHLEN

Datenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski

Lösungen der Übungsaufgaben von Kapitel 10

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Abfragen (Queries, Subqueries)

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

Oracle 10g Einführung

Datenmanagement I SoSe 2006 Aufgabenblatt 4

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Datenbanken. Zusammenfassung. Datenbanksysteme

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

SQL Data Manipulation Language (DML) und Query Language (QL)

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221)

Erzeugung und Veränderung von Tabellen

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Erzeugen von Constraints

SQL-Einführung Teil 2

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Es geht also im die SQL Data Manipulation Language.

SQL Intensivpraktikum SS 2008

ACCESS SQL ACCESS SQL

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird.

Die Datenmanipulationssprache SQL

Übung PL/SQL Trigger Lösungen

SQL-Befehlsliste. Vereinbarung über die Schreibweise

MNR NAME VORNAME STRASSE PLZ ORT TELEFON

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

SQL: Weitere Funktionen

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47

Abbildung 1: Das ERM. Nun zu den Tabellen: Zunächst wird aus jeder Entity eine Tabelle, d.h. wir erhalten:

SQL: Abfragen für einzelne Tabellen

Labor 3 - Datenbank mit MySQL

Datenschutz: Zugriffsrechte in SQL

Folien php/mysql Kurs der Informatikdienste

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Datenbanksysteme SQL Grundlagen

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

5.8 Bibliotheken für PostgreSQL

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL als Zugriffssprache

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Management of Information Systems. Tutorat: Session 3 Einführung in SQL

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Prakt. Datenbankprogrammierung. Sommersemester 2005

Wiederholung VU Datenmodellierung

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

SQL structured query language

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

DB2 for z/os. Übungen zur Schulung

Übung 3. Interaktive Abfragen auf eine SQL-Datenbank. Prof. Dr. Andreas Schmietendorf. Wirtschaftsinformatik

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Datenbanksysteme I. FB Automatisierung und Informatik: Datenbanksysteme I

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar

Einführung in die Spezialisierungsrichtungen

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

4. Datenbanksprache SQL

Aufgabe 12.1: JDBC - Datenbankzugriff in Java

Wirtschaftsinformatik (PWIN) 6. Mentorium. Wirtschaftsinformatik (PWIN), SS 2010, Professur für Mobile Business & Multilateral Security 1

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

105.3 SQL-Datenverwaltung

Datenbank und Tabelle mit SQL erstellen

Garten - Daten Bank. - survival pack -

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Datenbanksysteme 2013

Kapitel 8: Datenintegrität

Datenbank- und Informationssysteme. Lösungsvorschläge zu Übungsblatt 2. Sommersemester CREATE DOMAIN KennzeichenDomain AS VARCHAR(9);

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Grundlagen der Informatik III ERM-Modell Thema: Grundlagen der Datenbanken

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Datenbank Grundlagen. Performanceuntersuchungen

Microsoft Access 2010 SQL nutzen

Tabellen verknüpfen: Joins

Cassandra Query Language (CQL)

Bibliografische Informationen digitalisiert durch

(Von der Nähe zur Distanz zum User geordnet)

SQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion.

Inhaltsverzeichnis. Einleitung

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Kapitel 3: Datenbanksysteme

Kapitel 5: Sortieren, Gruppieren und Views in SQL

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Wirtschaftsinformatik Jgst. 9/10. Fortbildung am in Ansbach

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

1. Einleitung. SQL-Abfragen. 3. Das ERM der Übungsdatenbank. 2. Grundstruktur von SQL-Abfragen

Arbeit mit zusammengesetzten Datentypen

Übung 3. Komplexe SQL-Anfragen. Prof. Dr. Andreas Schmietendorf 1. Übung 3

Transkript:

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 1 Übungsaufgaben mit Lösungen 1) Ausgabe sämtlicher Spalten der Tabelle DEPARTMENT. SELECT * FROM DEPARTMENT 2) Ausgabe aller Projektnummern und Projektnamen. SELECT PROJNO, PROJNAME FROM PROJECT 3) Ausgabe von Vorname, Nachname und Telefonnummer sämtlicher Mitarbeiter. SELECT FIRSTNAME, LASTNAME, PHONENO 4) Ausgabe aller verschiedenen Berufe. SELECT DISTINCT JOB

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 2 5) Ausgabe von Nachname und Abteilungsnummer der Mitarbeiter, die in Abteilung Nr. D21 arbeiten. SELECT LASTNAME, WORKDEPT WHERE WORKDEPT = 'D21' 6) Zeigen Sie die Mitarbeiter auf, die mehr als 40000 GE verdienen. SELECT LASTNAME, SALARY WHERE SALARY > 40000 7) Ausgabe der Projekte, die mindestens einen Personalbedarf von 2 Personen haben. SELECT PROJNO, PROJNAME, PRSTAFF FROM PROJECT WHERE PRSTAFF >=2 8) Liste der Mitarbeiter, die im Projekt IF1000 tätig sind und diesem Projekt 50% ihrer Arbeitskraft widmen. SELECT EMPNO, PROJNO, EMPTIME _ACTIVITY WHERE PROJNO = 'IF1000' AND EMPTIME = 0.5 9) Nachname, Bonus und Provision der Mitarbeiter, die überhaupt einen Bonus bekommen, und die eine Provision von mindestens 2500 GE erhalten. SELECT LASTNAME, BONUS, COMM

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 3 WHERE BONUS IS NOT NULL AND COMM >= 2500 10) Ausgabe aller Mitarbeiter, die zwischen 20000 und 25000 GE verdienen. SELECT LASTNAME, SALARY WHERE SALARY BETWEEN 20000 AND 25000 11) Ausgabe der Mitarbeiter, die in Abteilung D21 arbeiten, und deren Ausbildung zwischen 15 und 17 Jahren liegt. SELECT LASTNAME, WORKDEPT, EDLEVEL WHERE WORKDEPT = 'D21' AND EDLEVEL BETWEEN 15 AND 17 12) Ausgabe von Abteilungsnummer und -name der Abteilungen, deren Nummern zwischen A00 und D21 liegen. SELECT DEPTNO, DEPTNAME FROM DEPARTMENT WHERE DEPTNO BETWEEN 'A00' AND 'D21' 13) Ausgabe aller verschiedenen Berufe der Mitarbeiter aus Abteilung B01, C01, D11 und E21. SELECT DISTINCT JOB WHERE WORKDEPT IN ('B01', 'C01', 'D11', 'E21') 14) Ausgabe aller Projekte, deren Nummer mit 'MA' beginnt.

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 4 SELECT PROJNO, PROJNAME FROM PROJECT WHERE PROJNO LIKE 'MA%' 15) Liste aller Mitarbeiter, die eine vierstellige Telefonnummer haben, und deren Nachname mit 'S' beginnt. SELECT LASTNAME, PHONENO WHERE LASTNAME LIKE 'S%' AND PHONENO LIKE ' ' 16) Ausgabe der Abteilungen, die in der Spalte MGRNO einen Eintrag haben. SELECT DEPTNO, DEPTNAME, MGRNO FROM DEPARTMENT WHERE MGRNO IS NOT NULL 17) Ausgabe des höchsten Gehaltes. SELECT MAX(SALARY) 18) Ermitteln Sie die Anzahl der Mitarbeiter, die Provision erhalten. SELECT COUNT(*) WHERE COMM IS NOT NULL

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 5 19) Ermitteln Sie die Summe der Gehälter, den maximalen Bonus und die minimale Provision. SELECT SUM(SALARY), MAX(BONUS), MIN(COMM) 20) Ermitteln Sie den Gesamtpersonalbedarf aller Projekte. SELECT SUM(PRSTAFF) FROM PROJECT 21) Ausgabe von Nachname, Beruf und Gesamteinkommen (Gehalt + Bonus + Provision) derjenigen Mitarbeiter, die ein Gesamteinkommen von mindestens 45000 GE haben. SELECT LASTNAME, JOB, (SALARY + BONUS + COMM) WHERE (SALARY + BONUS + COMM) >= 45000 22) Ausgabe von Nachname, Gehalt, Provision und 8% des Gehaltes derjenigen, deren Provision höher ist als 8% ihres Gehaltes. SELECT LASTNAME, SALARY, COMM, (SALARY * 0.08) WHERE COMM > SALARY * 0.08 23) Ausgabe aller Abteilungen alphabetisch geordnet nach Abteilungsnamen. SELECT DEPTNO, DEPTNAME FROM DEPARTMENT ORDER BY 2 24) Ausgabe von Abteilungsnummer, Nachname und Beruf aller Mitarbeiter mit Personalnummern zwischen 000100 und 000320. Die Liste soll aufsteigend nach Abteilungsnummern und innerhalb der Abteilungsnummern absteigend nach Nachnamen sortiert sein.

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 6 SELECT WORKDEPT, LASTNAME, JOB WHERE EMPNO BETWEEN '000100' AND '000320' ORDER BY WORKDEPT ASC, LASTNAME DESC oder [ORDER BY 1 ASC, 2 DESC] 25) Ausgabe aller Projekte der Abteilungen A00, D11, D21 und E11 aufsteigend sortiert nach Abteilungsnummer und innerhalb der Abteilungsnummer nach ihrem Projektenddatum. SELECT PROJNAME, DEPTNO, PRENDATE FROM PROJECT WHERE DEPTNO IN ('A00', 'D11', 'D21', 'E11') ORDER BY 2, 3 26) Ausgabe der Nachnamen der Manager, zugehörige Abteilungsnummer und -name, geordnet nach Abteilungsnummer. SELECT LASTNAME, WORKDEPT, DEPTNAME, DEPARTMENT WHERE DEPTNO = WORKDEPT AND JOB = 'MANAGER' ORDER BY WORKDEPT 27) Ausgabe von Projektname und Vor- und Nachname des Projektleiters, der Projekte, die einen geschätzten Personalbedarf von 1 Person haben. SELECT PROJNAME, FIRSTNME, LASTNAME FROM PROJECT, EMPLOYEE WHERE RESPEMP = EMPNO AND PRSTAFF = 1 28) Ausgabe von Personalnummer, Nachname, Projektnummer und zeitliche Beanspruchung derjenigen, die ab 01.01.82 in einem Projekt tätig sind.

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 7 SELECT EMPLOYEE.EMPNO, LASTNAME, PROJNO, EMPTIME, EMPLOYEE_ACTIVITY WHERE EMPLOYEE.EMPNO = EMPLOYEE_ACTIVITY.EMPNO AND EMSTDATE = '01.01.82' 29) Ausgabe von Personalnummer, Anfangsdatum der Einzelaktivität und Datum des Projektstartes jener Mitarbeiter, die am Anfang des Projektes mitarbeiten. SELECT EMPNO, EMSTDATE, PRSTDATE _ACTIVITY, PROJECT WHERE EMPLOYEE_ACTIVITY.PROJNO = PROJECT.PROJNO AND EMSTDATE = PRSTDATE

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 8 30) Ausgabe von Nachname und Gehalt derjenigen, die über 35000 oder unter 20000 verdienen. Diejenigen über 35000 sollen den Zusatz 'gute Verdiener', die unter 20000 den Zusatz 'schlechte Verdiener' erhalten. Die Ausgabe soll nach Nachnamen sortiert erfolgen. SELECT LASTNAME, SALARY, 'GUTER VERDIENER ' WHERE SALARY > 35000 UNION SELECT LASTNAME, SALARY, 'SCHLECHTER VERDIENER' WHERE SALARY < 20000 ORDER BY 1 31) Ausgabe der Durchschnittsgehälter aller Frauen und Männer. Die Frauen sollen den Zusatz 'Frauen', die Männer den Zusatz 'Männer' erhalten. SELECT AVG(SALARY), 'FRAUEN' WHERE SEX = 'F' UNION SELECT AVG(SALARY), 'MÄNNER' WHERE SEX = 'M'

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 9 32) Ausgabe der Durchschnittsgehälter je Berufsgruppe. SELECT JOB, AVG(SALARY) GROUP BY JOB 33) Ausgabe der höchsten Edlevel je Abteilung. Es sollen nur die Abteilungen ausgegeben werden, mit einem 'D' oder 'E' beginnen. SELECT WORKDEPT, MAX(EDLEVEL) WHERE WORDEPT LIKE 'E%' OR WORKDEPT LIKE 'D%' GROUP BY WORKDEPT 34) Es soll eine Liste aller Mitarbeiter mit der Anzahl an verschiedenen Projekten, an denen sie mitarbeiten, ausgegeben werden. SELECT EMPNO, COUNT(DISTINCT PROJNO) _ACTIVITY GROUP BY EMPNO

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 10 35) Besteht ein Zusammenhang zwischen Edlevel und Gesamteinkommen? Erstellen Sie eine Tabelle, die das durchschnittliche Gesamteinkommen je Edlevel wiederspiegelt. Die Ausgabe soll absteigend nach Edlevel erfolgen. SELECT EDLEVEL, AVG(SALARY + BONUS + COMM) GROUP BY EDLEVEL ORDER BY 1 DESC 36) Ausgabe der Abteilungen mit Durchschnittsgehältern, in denen mehr als 3 Mitarbeiter arbeiten. SELECT WORKDEPT, AVG(SALARY) GROUP BY WORKDEPT HAVING COUNT(*) > 3 37) Ausgabe der Personalnummer, Nachname, Job und Provision derjenigen, die eine überdurchschnittliche Provision erhalten, alphabetisch sortiert nach Namen. SELECT EMPNO, LASTNAME, JOB, COMM WHERE COMM > (SELECT AVG(COMM) ) ORDER BY LASTNAME 38) Ausgabe von Nachname, Vorname und Einstellungsdatum derjenigen, die nach William Jones eingestellt wurden. SELECT FIRSTNME, LASTNAME, HIREDATE WHERE HIREDATE > (SELECT HIREDATE WHERE LASTNAME = 'JONES')

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 11 39) Ausgabe das Nachnamens, Berufes, Gehaltes und der Abteilung der Mitarbeiter, die mehr verdienen als irgendein Mitarbeiter aus Abteilung C01. SELECT LASTNAME, JOB, SALARY, WORKDEPT WHERE SALARY > ANY (SELECT SALARY WHERE WORKDEPT = 'C01') 40) Ausgabe das Nachnamens, Berufes, Gehaltes und der Abteilung der Mitarbeiter, die mehr verdienen als alle Mitarbeiter aus Abteilung C01. SELECT LASTNAME, JOB, SALARY, WORKDEPT WHERE SALARY > ALL (SELECT SALARY WHERE WORKDEPT = 'C01') 41) Einfügen eines beliebigen Satzes in die Tabelle PROJECT. z.b. INSERT INTO PROJECT VALUES ('IF3000', 'SURFEN', 'A00', '000340', 1, '01.04.90', '01.04.91') 42) Löschen des unter 41) angelegten Satzes. z.b. DELETE FROM PROJECT WHERE PROJNO = 'IF3000' 43) Alle Frauen erhalten eine 5%ige Gehaltserhöhung. UPDATE EMPLOYEE

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 12 SET SALARY = SALARY * 1.05 WHERE SEX = 'F' 44) Legen Sie die Tabelle PRODUKTE an. Sie soll die Spalten Produktnummer, Produktname, Lieferant und Preis enthalten. Überlegen Sie sich geeignete Datentypen! CREATE TABLE PRODUKTE (PRODUKTNUMMER VARCHAR (7), PRODUKTNAME VARCHAR (9), LIEFERANT VARCHAR (8), PREIS DEC (3,2)) 45) Erstellen Sie die Benutzersicht EMP der Tabelle EMPLOYEE. Sie soll alle Personalnummern, Nachnamen und Abteilungen enthalten. CREATE VIEW EMP AS SELECT EMPNO, LASTNAME, WORKDEPT 46) Fügen Sie zu der Tabelle EMPLOYEE die Spalte Wohnort hinzu. ALTER TABLE EMPLOYEE ADD WOHNORT VARCHAR (10) 47) Löschen Sie die unter 44) angelegte Tabelle. DROP TABLE PRODUKTE 48) Räumen Sie einer Userid für die Tabelle EMPLOYEE die Rechte SELECT und INSERT ein. GRANT SELECT, INSERT ON EMPLOYEE

Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 13 TO userid 49) Räumen Sie einer Userid alle Rechte für die Tabelle PROJECT ein, einschließlich dem Recht, die erhaltenen Rechte weiterzugeben. GRANT ALL ON PROJECT TO userid WITH GRANT OPTION 50) Ziehen Sie die unter 48) eingeräumten Rechte wieder zurück. REVOKE SELECT, INSERT ON EMPLOYEE FROM userid 51) Ziehen Sie die unter 49) eingeräumten Rechte wieder zurück. REVOKE ALL ON PROJECT FROM userid