Einführung - Till Hänisch

Werbung
Ü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
Herunterladen