Idee für eine einfachere SQL-Abfrage?

Idee für eine einfachere SQL-Abfrage?

am 13.06.2006 10:42:57 von Thomas Himmelmann

Hallo,
ich habe hier folgende Aufgabenstellung aber habe keine Idee wie ich die
Unterabfrage weg bekommen könnte.

Geben Sie für die folgende SELECT-Anweisung eine äquivalente Anweisung
an, die keine Unteranfrage enthält.

SELECT
Name
FROM
Mitarbeiter
WHERE
Gehalt < (SELECT Gehalt FROM Mitarbeiter WHERE Name = 'Schulze')

Habt Ihr eine Idee?

MfG
Thomas

Re: Idee für eine einfachere SQL-Abfrage?

am 13.06.2006 11:10:12 von Christian Kirsch

Thomas Himmelmann schrieb:
> Hallo,
> ich habe hier folgende Aufgabenstellung aber habe keine Idee wie ich die
> Unterabfrage weg bekommen könnte.
>
> Geben Sie für die folgende SELECT-Anweisung eine äquivalente Anweisung
> an, die keine Unteranfrage enthält.
>
> SELECT
> Name
> FROM
> Mitarbeiter
> WHERE
> Gehalt < (SELECT Gehalt FROM Mitarbeiter WHERE Name = 'Schulze')
>
> Habt Ihr eine Idee?
>

Ich glaube nicht, dass es Sinn einer Newsgroup ist, Übungsaufgaben zu
lösen. Abgesehen davon könntest Du z.B. das MySQL-Handbuch für Version
3.x zu Rate ziehen, da stehen sicherlich Tipps drin, wie man
Subqueries vermeidet.

Re: Idee für eine einfachere SQL-Abfrage?

am 13.06.2006 11:38:22 von Harald Stowasser

Thomas Himmelmann schrieb:

> Hallo,
> ich habe hier folgende Aufgabenstellung aber habe keine Idee wie ich die
> Unterabfrage weg bekommen könnte.
>
> Geben Sie für die folgende SELECT-Anweisung eine äquivalente Anweisung
> an, die keine Unteranfrage enthält.
>
> SELECT
> Name
> FROM
> Mitarbeiter
> WHERE
> Gehalt < (SELECT Gehalt FROM Mitarbeiter WHERE Name = 'Schulze')
>
> Habt Ihr eine Idee?

Mehrere.
Aber wie Christian gesagt hat, ist das kein Hausaufgabenlösungsforum.

Damit Dir dennoch ein wenig geholfen wird, schlage ich vor du liest mal
den kelz durch:
http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/

In der Relationalen Algebra steht dann auch was du da brauchen könntest.


Ach ja:
http://www.lugbz.org/documents/smart-questions_de.html#befor e

Re: Idee für eine einfachere SQL-Abfrage?

am 13.06.2006 23:59:50 von Klaus Herzberg

Hallo,

Harald Stowasser wrote:
> Thomas Himmelmann schrieb:
>
>> Hallo,
>> ich habe hier folgende Aufgabenstellung aber habe keine Idee wie ich die
>> Unterabfrage weg bekommen könnte.
>...
>
> Mehrere.
> Aber wie Christian gesagt hat, ist das kein Hausaufgabenlösungsforum.
was denn sonst? Es existiert kein Unterschied zwischen einer Frage, die
aus einer Hausaufgabe resultiert und einer Frage, die sich bspw. aus der
Arbeit ergibt.

Ich sehe hier richtig "den Buerger" vor mir, der sich sagt: "Das darf
nicht sein, dem zeigen wir es mal." Wahrscheinlich hat man in der Schule
auch nicht abschreiben lassen.

Es ist natuerlich loeblich, den Hinweis zu geben, wo er nachschauen
soll. Aber schneller waere doch einfach Deine Losung zu tippen.

mfg. klaus.

Re: Idee für eine einfachere SQL-Abfrage?

am 14.06.2006 00:20:43 von Dominik Echterbruch

Klaus Herzberg wrote:
>>
>>>Hallo,
>>>ich habe hier folgende Aufgabenstellung aber habe keine Idee wie ich die
>>>Unterabfrage weg bekommen könnte.
>>
>>Aber wie Christian gesagt hat, ist das kein Hausaufgabenlösungsforum.
>
> was denn sonst?

Lies das bereits gepostete
http://www.lugbz.org/documents/smart-questions_de.html#befor e
und du wirst es verstehen.
In Kurzform: Der Weg ist das Ziel. Das wußten schon die alten Chinesen.

> Es existiert kein Unterschied zwischen einer Frage, die
> aus einer Hausaufgabe resultiert und einer Frage, die sich bspw. aus der
> Arbeit ergibt.

Richtig. In beiden Fällen möchte man (im Allgemeinen) etwas lernen. Nur
in diesem Fall resultierte die Frage nicht aus einer Aufgabe, sondern
die Frage _ist_ die Aufgabe. Oder würdest du erwarten, daß man dir
2.000.000 Zeilen Quellcode einfach so zur Verfügung stellt, bloß weil
das deine Aufgabe ist und du hier danach gefragt hast?

> Ich sehe hier richtig "den Buerger" vor mir, der sich sagt: "Das darf
> nicht sein, dem zeigen wir es mal." Wahrscheinlich hat man in der Schule
> auch nicht abschreiben lassen.

Falsch. Es geht darum, keine Antworten vorzukauen, sondern Wege
aufzuzeigen. Du lernst nichts, wenn man dir fertige Software vorsetzt,
über die du nicht nachdenken mußt. Du lernst nur dann, wenn du selber
darüber nachdenkst.

Und wer über diesen Absatz nachdenkt, muß den oben wiederholten Link
nicht verwenden, um herauszufinden, worum es bei Newsgroups geht.

> Es ist natuerlich loeblich, den Hinweis zu geben, wo er nachschauen
> soll. Aber schneller waere doch einfach Deine Losung zu tippen.

Schneller ja, aber bei weitem nicht so effektiv. Der OP würde dabei
exakt nichts lernen. Die von uns freiwillig geopferte Zeit wäre damit
vergeudet. Und das willst du ja sicher nicht, oder? ;)


Grüße,
Dominik
--
Norbert Melzer in d.c.d.mysql:
F: Wie verstehe ich diese FAQ am besten?
A: Studieren Sie Datanbank-Design und lesen Sie anschliessend alles nochmal

Re: Idee füreine einfachere SQL-Abfrage?

am 14.06.2006 06:42:56 von Thomas Rachel

Thomas Himmelmann wrote:

> SELECT
> Name
> FROM
> Mitarbeiter
> WHERE
> Gehalt < (SELECT Gehalt FROM Mitarbeiter WHERE Name = 'Schulze')
>
> Habt Ihr eine Idee?

Du hast zwei Tabellen, die Du miteinander verknüpfen mußt, bzw.
eigentlich nur eine, die Du mit sich selbst verknüpfen mußt. Du mußt ihr
dafür jeweils Aliase geben und für die Verknüpfung eine Bedingung
angeben. Mit diesen Informationen hilf t Dir das Kapitel JOIN im
Handbuch.

HTH,


Thomas

Re: Idee für eine einfachere SQL-Abfrage?

am 14.06.2006 10:26:54 von Sibylle Koczian

Klaus Herzberg schrieb:
> Hallo,
>=20
> Harald Stowasser wrote:
>=20
>>
>>Mehrere.
>>Aber wie Christian gesagt hat, ist das kein Hausaufgabenlösungsforum.=

>=20
> was denn sonst? Es existiert kein Unterschied zwischen einer Frage, die=

> aus einer Hausaufgabe resultiert und einer Frage, die sich bspw. aus de=
r
> Arbeit ergibt.
>=20

Klassische Hausaufgaben in der Schule versucht man abzuschreiben oder
sonstwie zu umgehen, weil man den Stoff möglichst _nicht_ lernen möch=
te.
In einem sehr großen Teil der Fälle zu Recht.

MySQL zu lernen, es aber eigentlich doch nicht lernen zu wollen, gibt
für meine Begriffe nicht so arg viel Sinn: selbst wenn ich es für ein=

schlechtes DBMS halte, muss ich durchblicken, wenn ich gezwungen bin,
damit zu arbeiten.

Sibylle

--=20
Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Sibylle.Koczian@Bibliothek.Uni-Augsburg.DE