Übungen SQL IS: Datenbanken, © Till Hänisch 2000 Neue Tabellen mysql> select * from EMPPROJ; mysql> select * from PROJECT; +--------+------------+--------+------------+-------+--------+ +-------+--------+---------+ | PROJNO | PROJNAME | BUDGET | ORT | PLZ | DEPTNO | | EMPNO | PROJNO | PERCENT | +--------+------------+--------+------------+-------+--------+ +-------+--------+---------+ | 1 | Stargate | 100000 | Ulm | 89073 | 20 | | 7369 | 1 | 30 | | 2 | Terminator | 200000 | Heidenheim | 89520 | 20 | | 7369 | 2 | 10 | | 3 | Watergate | 500000 | Hamburg | 20095 | 20 | 3 | 20 | | 4 | Mini | 500 | Hamburg | 20095 | 30 | | 7369 | 4 | 5 | | 5 | Startup | 5000 | Hamburg | 20095 | 30 | | 7499 | +--------+------------+--------+------------+-------+--------+ | 7499 | 5 | 10 | 5 rows in set (0.00 sec) | 7566 | 1 | 10 | | 7566 | 2 | 10 | | 7566 | 3 | 10 | | 7566 | 4 | 10 | | 7566 | 5 | 10 | | 7788 | 1 | 10 | | 7788 | 2 | 20 | | 7788 | 5 | 10 | +-------+--------+---------+ 13 rows in set (0.00 sec) IS: Datenbanken, © Till Hänisch 2000 Neue Tabellen, Joins Mitarbeiter (Namen) des Projekts „Stargate“ Projekte nach Budget sortiert Aufsteigend Absteigend Mitarbeiter, die an Projekten in „Ulm“ arbeiten Projekte mit durchführender Abteilung IS: Datenbanken, © Till Hänisch 2000 Mitarbeiter (Namen) des Projekts „Stargate“ mysql> select e.ename from EMP e, EMPPROJ ep, PROJECT p -> where e.empno=ep.empno and ep.projno=p.projno and p.projname='Stargate'; +-------+ | ename | +-------+ | SMITH | | JONES | | SCOTT | +-------+ 3 rows in set (0.00 sec) IS: Datenbanken, © Till Hänisch 2000 Projekte nach Budget sortiert Aufsteigend Absteigend mysql> select projname from PROJECT order by budget ASC; +------------+ | projname | +------------+ | Mini | | Startup | | Stargate | | Terminator | | Watergate | +------------+ 5 rows in set (0.00 sec) mysql> select projname from PROJECT order by budget DESC; +------------+ | projname | +------------+ | Watergate | | Terminator | | Stargate | | Startup | | Mini | +------------+ 5 rows in set (0.00 sec) IS: Datenbanken, © Till Hänisch 2000 Mitarbeiter, die an Projekten in „Ulm“ arbeiten mysql> select e.ename from EMP e, EMPPROJ ep, PROJECT p -> where e.empno=ep.empno and ep.projno=p.projno and p.Ort='Ulm'; +-------+ | ename | +-------+ | SMITH | | JONES | | SCOTT | +-------+ 3 rows in set (0.00 sec) IS: Datenbanken, © Till Hänisch 2000 Projekte mit durchführender Abteilung mysql> select p.projname,d.dname from PROJECT p, DEPT d -> where p.deptno=d.deptno; +------------+----------+ | projname | dname | +------------+----------+ | Stargate | RESEARCH | | Terminator | RESEARCH | | Watergate | RESEARCH | | Mini | SALES | | Startup | SALES | +------------+----------+ 5 rows in set (0.00 sec) IS: Datenbanken, © Till Hänisch 2000 Aggregate Functions Mitarbeiter je Projekt (nicht Köpfe, sondern Prozentsatz) Projektbudget je Abteilung Mittleres Projektbudget je Abteilung Ohne Kleinstprojekte (< 1000) Nur für Abteilungen mit mehr als zwei Projekten Budget je PLZ-Gebiet (erste Ziffer) Mitarbeiter je PLZ-Gebiet (Prozent, nicht Köpfe) Mitarbeiter, die in Projekten mitarbeiten Abteilungen mit mind. Ein SALESMAN IS: Datenbanken, © Till Hänisch 2000