FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

Resultate der Anfragen für das Aufgabenblatt 5

Resultate der Anfragen für das Aufgabenblatt 5 2005-01-10 21:56
Anonymer User
Ich würde hier gerne die Resultate meiner Anfragen für die Aufgaben 2 und 3 des fünften Aufgabenblattes zur Diskussion stellen. Wenn jemand abweichende Ergebnisse hat, so soll er sich gerne melden, und vielleicht gibt es ja den einen oder anderen der sich auch noch wohler fühlt wenn er seine Ergebnisse vergleichen kann.

Aufgabe 2, Namen die mit G beginnen:
Name = Graham
Name = Gonzales
Name = Gafney

Aufgabe 3.1, Name, Beruf, Gehalt… von Angestellten geordnet nach Gehalt:
Firstname = JOHN
Lastname = PARKER
Job = OPERATOR
Department = E11
Salary = 15340.00
nächster
Firstname = MAUDE
Lastname = SETRIGHT
Job = OPERATOR
Department = E11
Salary = 15900.00
nächster
Firstname = SYBIL
Lastname = JOHNSON
Job = CLERK
Department = D21
Salary = 17250.00
nächster
Firstname = PHILIP
Lastname = SMITH
Job = OPERATOR
Department = E11
Salary = 17750.00
nächster
Firstname = WILLIAM
Lastname = JONES
Job = DESIGNER
Department = D11
Salary = 18270.00
nächster
Firstname = DANIEL
Lastname = SMITH
Job = CLERK
Department = D21
Salary = 19180.00
nächster
Firstname = RAMLAL
Lastname = MEHTA
Job = FIELDREP
Department = E21
Salary = 19950.00
nächster
Firstname = JAMES
Lastname = WALKER
Job = DESIGNER
Department = D11
Salary = 20450.00
nächster
Firstname = MARILYN
Lastname = SCOUTTEN
Job = DESIGNER
Department = D11
Salary = 21340.00
nächster
Firstname = JAMES
Lastname = JEFFERSON
Job = CLERK
Department = D21
Salary = 22180.00
nächster
Firstname = ELIZABETH
Lastname = PIANKA
Job = DESIGNER
Department = D11
Salary = 22250.00
nächster
Firstname = DOLORES
Lastname = QUINTANA
Job = ANALYST
Department = C01
Salary = 23800.00
nächster
Firstname = JASON
Lastname = GOUNOT
Job = FIELDREP
Department = E21
Salary = 23840.00
nächster
Firstname = MASATOSHI
Lastname = YOSHIMURA
Job = DESIGNER
Department = D11
Salary = 24680.00
nächster
Firstname = BRUCE
Lastname = ADAMSON
Job = DESIGNER
Department = D11
Salary = 25280.00
nächster
Firstname = WING
Lastname = LEE
Job = FIELDREP
Department = E21
Salary = 25370.00
nächster
Firstname = THEODORE
Lastname = SPENSER
Job = MANAGER
Department = E21
Salary = 26150.00
nächster
Firstname = ETHEL
Lastname = SCHNEIDER
Job = OPERATOR
Department = E11
Salary = 26250.00
nächster
Firstname = MARIA
Lastname = PEREZ
Job = CLERK
Department = D21
Salary = 27380.00
nächster
Firstname = DAVID
Lastname = BROWN
Job = DESIGNER
Department = D11
Salary = 27740.00
nächster
Firstname = HEATHER
Lastname = NICHOLLS
Job = ANALYST
Department = C01
Salary = 28420.00
nächster
Firstname = SALVATORE
Lastname = MARINO
Job = CLERK
Department = D21
Salary = 28760.00
nächster
Firstname = SEAN
Lastname = O'CONNELL
Job = CLERK
Department = A00
Salary = 29250.00
nächster
Firstname = EILEEN
Lastname = HENDERSON
Job = MANAGER
Department = E11
Salary = 29750.00
nächster
Firstname = JENNIFER
Lastname = LUTZ
Job = DESIGNER
Department = D11
Salary = 29840.00
nächster
Firstname = IRVING
Lastname = STERN
Job = MANAGER
Department = D11
Salary = 32250.00
nächster
Firstname = EVA
Lastname = PULASKI
Job = MANAGER
Department = D21
Salary = 36170.00
nächster
Firstname = SALLY
Lastname = KWAN
Job = MANAGER
Department = C01
Salary = 38250.00
nächster
Firstname = JOHN
Lastname = GEYER
Job = MANAGER
Department = E01
Salary = 40175.00
nächster
Firstname = MICHAEL
Lastname = THOMPSON
Job = MANAGER
Department = B01
Salary = 41250.00
nächster
Firstname = VINCENZO
Lastname = LUCCHESSI
Job = SALESREP
Department = A00
Salary = 46500.00
nächster
Firstname = CHRISTINE
Lastname = HAAS
Job = PRES
Department = A00
Salary = 52750.00


Aufgabe 3.2, Durchschnittsgehälter in den Abteilungen:
Department: A00
Durchschnitt = 42833.333333333333333333333333
Department: B01
Durchschnitt = 41250.000000000000000000000000
Department: C01
Durchschnitt = 30156.666666666666666666666666
Department: D11
Durchschnitt = 24677.777777777777777777777777
Department: D21
Durchschnitt = 25153.333333333333333333333333
Department: E01
Durchschnitt = 40175.000000000000000000000000
Department: E11
Durchschnitt = 20998.000000000000000000000000
Department: E21
Durchschnitt = 23827.500000000000000000000000


Aufgabe 3.3, Durchschnittsgehälter in Abteilungen wo größer als 30000:
A00
Durchschnitt = 42833.333333333333333333333333
B01
Durchschnitt = 41250.000000000000000000000000
C01
Durchschnitt = 30156.666666666666666666666666
E01
Durchschnitt = 40175.000000000000000000000000


Aufgabe 3.4, volles Gehalt des Mangers der Abteilung Information Center:
39050.00


Aufgabe 3.5, Abteilungen mit Bonus größer als 500:
Department = ADMINISTRATION SYSTEMS
Department = INFORMATION CENTER
Department = MANUFACTURING SYSTEMS
Department = OPERATIONS
Department = PLANNING
Department = SPIFFY COMPUTER SERVICE DIV.
Department = SUPPORT SERVICES


Aufgabe 3.6, Projekte in denen der Manager der Abteilung Spiffy… arbeitet:
ADMIN SERVICES, W L PROGRAMMING, WELD LINE AUTOMATION

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-11 00:09
Brokkoli
bei 3.1,3.2,3.3 solltest du wohl den namen des departments angeben.. nicht die id - ansonsten hab ichs genauso

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-12 19:38
NaZo
Ich <edit>habe</edit> die erste Aufgabe auf den Nachname bezogen, daher folgendes Ergebnis:

JOHN GEYER
JASON GOUNOT

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-12 22:21
korelstar
Aufgabe 3.5, Abteilungen mit Bonus größer als 500:
Department = ADMINISTRATION SYSTEMS
Department = INFORMATION CENTER
Department = MANUFACTURING SYSTEMS
Department = OPERATIONS
Department = PLANNING
Department = SPIFFY COMPUTER SERVICE DIV.
Department = SUPPORT SERVICES

Auch wenn das jetzt etwas pingelig erscheinen mag: Wenn ich >500 benutze, fällt "MANUFACTURING SYSTEMS" weg. Der Aufgabe nach wird nach meinem Verständniss aber nach >500 gesucht, und nicht nach >=500.


Ich <edit>habe</edit> die erste Aufgabe auf den Nachname bezogen, daher folgendes Ergebnis:

JOHN GEYER
JASON GOUNOT
Kann es sein, dass du aus der Tabelle EMPLOYEE liest, und nicht wie in der Aufgabenstellung verlangt aus STAFF? In STAFF gibt es nämlich nur die Spalte NAME.

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-13 11:07
Joker
Ob es nun die Tabelle Staff ist oder nicht, ist wohl relativ egal. Würde es denen auf diese Tabelle ankommen, hätte sie diese auch in der Aufgabenstellung beim DB-Schema aufgeführt.

Siehe auch den Beitrag dazu von vor einem Jahr:
http://3773.rapidforum.com/topic=101782635467


Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-13 11:08
NaZo
korelstar:

Ich <edit>habe</edit> die erste Aufgabe auf den Nachname bezogen, daher folgendes Ergebnis:

JOHN GEYER
JASON GOUNOT
Kann es sein, dass du aus der Tabelle EMPLOYEE liest, und nicht wie in der Aufgabenstellung verlangt aus STAFF? In STAFF gibt es nämlich nur die Spalte NAME.

Öh, ja, kann sein. Verdammt!

[img]http://www.fb18.de/gfx/danke.gif[/img]

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-13 15:44
Anonymer User
Auch wenn das jetzt etwas pingelig erscheinen mag: Wenn ich >500 benutze, fällt "MANUFACTURING SYSTEMS" weg. Der Aufgabe nach wird nach meinem Verständniss aber nach >500 gesucht, und nicht nach >=500.
Das ist seltsam. Ich benutze > 500 und nicht >= 500!

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-13 15:49
korelstar
Das ist dann in der Tat seltsam.

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-13 16:05
georg
Also bei mir kommt "SOFTWARE SUPPORT" hinzu, wenn ich
>= statt > schreibe.

Mit ">":
+------------------------------+ | ADMINISTRATION SYSTEMS | | INFORMATION CENTER | | MANUFACTURING SYSTEMS | | OPERATIONS | | PLANNING | | SPIFFY COMPUTER SERVICE DIV. | | SUPPORT SERVICES | +------------------------------+
Mit ">=":
+------------------------------+ | ADMINISTRATION SYSTEMS | | INFORMATION CENTER | | MANUFACTURING SYSTEMS | | OPERATIONS | | PLANNING | | SOFTWARE SUPPORT | | SPIFFY COMPUTER SERVICE DIV. | | SUPPORT SERVICES | +------------------------------+
Insofern habe ich das gleiche Ergebnis wie der Anonyme ganz oben.

Edit: Ich sollte vielleicht dazusagen, dass ich alle
Abteilungen gesucht hab, in denen es mindestens einen Angestellten
mit Bonus>500 gibt. Man koennte die Aufgabe ja auch so verstehen,
dass die Abteilungen ausgegeben werden sollen, in denen alle
Angestellten einen Bonus>500 bekommen.

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-13 17:04
korelstar
Autsch! Doofer Fehler. Bzw. doofes SQL. Naja, wenn man nicht weiß, in welcher Reihenfolge die einzelnen Teile der Abfrage ausgeführt werden, kann sowas leicht passieren.

Wen es interessiert: Ich habe einen Join zwichen beiden Tabellen gemacht und dann optimistisch einfach im WHERE die Bedingung bonus>500 geschrieben. Da aber diese Bedingung offenbar erst behandelt wird, nachdem der Join durchgeführt wurde, kann es passieren, dass ich in der Ergebnismenge plötzlich einen Datensatz habe, auf den die Bedingung nicht zutrifft, auch wenn es andere geben würde, auf die die Bedingung zu treffen.

Mit einem Sub-Select habe ich dann auch das korrekte Ergebnis. Schade nur, dass wir schon abgegeben haben…

Edit: MySQL macht das nämlich so, wie ich das wollte. Bäh.

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-13 17:34
georg
Ich habe einen Join zwichen beiden Tabellen gemacht und dann optimistisch einfach im WHERE die Bedingung bonus>500 geschrieben. Da aber diese Bedingung offenbar erst behandelt wird, nachdem der Join durchgeführt wurde, kann es passieren, dass ich in der Ergebnismenge plötzlich einen Datensatz habe, auf den die Bedingung nicht zutrifft, auch wenn es andere geben würde, auf die die Bedingung zu treffen.

Das verstehe ich jetzt nicht. Ist es nicht egal (d.h. ohne
Auswirkung auf die Ergebnisdaten), ob man erst in der
Mitarbeitertabelle nach Bonus>500 filtert und dann einen JOIN
macht oder ob man erst den JOIN macht und dann filtert?

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-13 18:19
Anonymer User
Das verstehe ich jetzt nicht. Ist es nicht egal (d.h. ohne
Auswirkung auf die Ergebnisdaten), ob man erst in der
Mitarbeitertabelle nach Bonus>500 filtert und dann einen JOIN
macht oder ob man erst den JOIN macht und dann filtert?
Der Meinung bin ich auch. Solange man nicht zwei Tabellen bedingt miteinander verknüpft, kann die Reihenfolge keine Auswirkung auf das Ergebnis haben.

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-14 18:47
korelstar
Jetzt bin ich richtig verwirrt. Allerdings wegen mir. Habe gerade bemerkt, dass mein Fehler ganz wo anders lag.

Um meine Aussage aber trotzdem zu rechtfertigen: Das von mir geschilderte Problem kann IIRC auftreten, wenn ein bestimmtes GROUP BY angegeben ist. Aber ich bin mir jetzt irgendwie gar nicht mehr sicher. Vermutlich ist das alles totaler Quatsch, was ich da erzähle.

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-15 15:38
Anonymer User
mal 'ne Frage, da ich mich mit SQL net so übermäßig auskenn:
kann ich das mit dem Durchschnittsgehalt bei 3.2/3.3 direkt in der Abfrage berechnen oder muss ich mir alle Werte holen und dann selbst (im Java Code) berechnen?

Re: Resultate der Anfragen für das Aufgabenblatt 5 2005-01-15 18:00
Joker
select avg(spalte) from … where …