tom as: any <-> all

Hallo,

kann mir mal jemand den Unterschied zwischen ANY und ALL erklären

Bei mysql.com lautet es für ANY:

http://dev.mysql.com/doc/refman/5.1/de/any-in-some-subqueries.html

Das Wort ANY, das einem Vergleichsoperator folgen muss, bedeutet „Gib TRUE zurück, wenn der Vergleich für jeden beliebigen Wert in der Spalte, die die Unterabfrage zurückgibt, wahr ist“.

Für ALL schreiben sie:

http://dev.mysql.com/doc/refman/5.1/de/all-subqueries.html

Das Wort ALL, das einem Vergleichsoperator folgen muss, bedeutet „Gib TRUE  zurück, wenn der Vergleich für jeden beliebigen Wert in der Spalte, die die Unterabfrage zurückgibt, wahr ist“.

Wo ist denn jetzt der Unterschied?

  1. Hi,

    Das Wort ANY, das einem Vergleichsoperator folgen muss, bedeutet „Gib TRUE zurück, wenn der Vergleich für jeden beliebigen Wert in der Spalte, die die Unterabfrage zurückgibt, wahr ist“.

    Das ist IMHO falsch. Die korrekte Beschreibung müsste lauten:
    Gib TRUE zurück, wenn der Vergleich für mindestens einen beliebigen Wert in der Spalte, die die Unterabfrage zurückgibt, wahr ist.

    Für ALL schreiben sie:
    Das Wort ALL, das einem Vergleichsoperator folgen muss, bedeutet „Gib TRUE  zurück, wenn der Vergleich für jeden beliebigen Wert in der Spalte, die die Unterabfrage zurückgibt, wahr ist“.

    Das ist IMHO korrekt.

    MfG
    Rouven

    --
    -------------------
    Computer programming is tremendous fun. Like music, it is a skill that derives from an unknown blend of innate talent and constant practice. Like drawing, it can be shaped to a variety of ends: commercial, artistic, and pure entertainment. Programmers have a well-deserved reputation for working long hours but are rarely credited with being driven by creative fevers. Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination, but because their imagination reveals worlds that others cannot see. -- Larry OBrien and Bruce Eckel in Thinking in C#
  2. Hallo

    Bei mysql.com lautet es für ANY:

    http://dev.mysql.com/doc/refman/5.1/de/any-in-some-subqueries.html

    Das Wort ANY, das einem Vergleichsoperator folgen muss, bedeutet „Gib TRUE zurück, wenn der Vergleich für jeden beliebigen Wert in der Spalte, die die Unterabfrage zurückgibt, wahr ist“.

    Auf englisch heißt es für ANY

    http://dev.mysql.com/doc/refman/5.1/en/any-in-some-subqueries.html

    The ANY keyword, which must follow a comparison operator, means “return TRUE if the comparison is TRUE for ANY of the values in the column that the subquery returns.

    Für ALL schreiben sie:

    http://dev.mysql.com/doc/refman/5.1/de/all-subqueries.html

    Das Wort ALL, das einem Vergleichsoperator folgen muss, bedeutet „Gib TRUE  zurück, wenn der Vergleich für jeden beliebigen Wert in der Spalte, die die Unterabfrage zurückgibt, wahr ist“.

    http://dev.mysql.com/doc/refman/5.1/en/all-subqueries.html

    The word ALL, which must follow a comparison operator, means “return TRUE if the comparison is TRUE for ALL of the values in the column that the subquery returns.

    Wo ist denn jetzt der Unterschied?

    In der wörtlich durchaus erlaubten, im Kontext jedoch falschen Übersetzung von ANY. Eine richtige Übersetzung anstelle "jedem beliebigen" wäre z.B. "irgendeinen".

    Freundliche Grüße

    Vinzenz