[FRAGE] - some, any, all
Results 1 to 9 of 9

Thread: some, any, all

  1. #1
    Wings-of-Glory's Avatar
    Title
    CO-Administrator
    Join Date
    Jan 2002
    Posts
    4,001
    Thanks
    347
    Thanked 504 Times in 266 Posts

    some, any, all

    hi
    könnte mir bitte jemand die befehle some, any, all erklären?

    bei all kenn ich mich etwas aus und ich weiss auch, dass all die standardeinstellung ist. warum dann eigentlich hinschreiben?

    THX im vorraus
    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.»


    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  2. #2

    Title
    Baccalaureus
    Join Date
    Feb 2002
    Posts
    780
    Thanks
    25
    Thanked 18 Times in 8 Posts
    find das des recht anschaulich im buch erklärt ist... some und any sind imho synonym.

    aber was genau willst du wissen was nicht im buch steht?

    laborg

  3. #3
    Wings-of-Glory's Avatar
    Title
    CO-Administrator
    Join Date
    Jan 2002
    Posts
    4,001
    Thanks
    347
    Thanked 504 Times in 266 Posts
    thx, das buch hab ich! habs auch gelesen, aber zu some & any hab ich nicht viel gefunden!
    kann mir bitte wer weiterhelfen, thx

    wann benutzt man some bzw any?
    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.»


    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  4. #4

    Title
    Elite
    Join Date
    Feb 2002
    Posts
    482
    Thanks
    0
    Thanked 0 Times in 0 Posts
    any und some sind synonym (nur deswegen "doppelt" da, weil im englischen Sprachgebrauch manchmal "any" und manchmal "some" eher passt, macht aber genau dasselbe!)

    any/some bedeutet, es gibt IRGENDEIN Element, das was erfüllt.

    Beispiel: in der Tabelle Wiener stehen alle, die in Wien gemeldet sind, in der Tab. Tiroler alle die in Tirol gemeldet sind, der Schlüssel beider Tabellen sei die SVNR (Sozialversicherungs#)
    Wenn ich jetzt alle Wiener haben will, die auch in Tirol gemeldet sind, könnte ich folgenden Query verwenden:

    select SVNR from Wiener
    where SVNR = any (select SVNR from Tiroler)

    Synomym dazu wäre auch der Query

    select SVNR from Wiener
    where SVNR in (select SVNR from Tiroler)

    Man sieht also, der any/some Quantor heißt nur, dass es IRGENDEIN Element geben muss, das die Relation (hier die '=') erfüllt, entspricht also dem mathematischen "es existiert".

  5. #5
    MarvinTheRobot's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    48° 09′ N, 16° 27' E
    Posts
    1,753
    Thanks
    121
    Thanked 105 Times in 58 Posts
    also eigentlich vollkommen wurscht..... wenn ichs mit "in" lösen könnte dann brauch ich any net....

    was ist mit exists? kann ich das nicht auch verwenden?

    SELECT SVNR FROM Wiener
    WHERE SVNR exists (SELECT SVNR FROM Tiroler)

    geht doch auch oder?
    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    www.chuckbronson.net
    www.spreadshirt.net/shop.php?sid=104618
    - TU-Funshirt-Shop
    Quote Originally Posted by peszi_forum
    Schiefe optik? siehe dazu den atttachment.. Und deine reaktion war wirklich robot mäßig bei antworten geben

  6. #6

    Title
    Baccalaureus
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    534
    Thanks
    3
    Thanked 124 Times in 78 Posts
    Original geschrieben von MarvinTheRobot
    also eigentlich vollkommen wurscht..... wenn ichs mit "in" lösen könnte dann brauch ich any net....

    was ist mit exists? kann ich das nicht auch verwenden?

    SELECT SVNR FROM Wiener
    WHERE SVNR exists (SELECT SVNR FROM Tiroler)

    geht doch auch oder?
    nein, das geht nicht. das ist syntaktisch falsch.
    Code:
    exists (select svnr from tiroler)
    ist entweder true oder false.
    true ist es, wenn
    Code:
    (select svnr from tiroler)
    mindestens eine Zeile enthält;
    andernfalls ist es false.


    Code:
    where svnr boolean-Wert
    ist natürlich syntaktisch falsch.

  7. #7
    MarvinTheRobot's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    48° 09′ N, 16° 27' E
    Posts
    1,753
    Thanks
    121
    Thanked 105 Times in 58 Posts
    exists mit having austauschen? geht das? ich hoff ich nerv nicht allzu sehr....

    mfg, Phil.
    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    www.chuckbronson.net
    www.spreadshirt.net/shop.php?sid=104618
    - TU-Funshirt-Shop
    Quote Originally Posted by peszi_forum
    Schiefe optik? siehe dazu den atttachment.. Und deine reaktion war wirklich robot mäßig bei antworten geben

  8. #8

    Title
    Baccalaureus
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    534
    Thanks
    3
    Thanked 124 Times in 78 Posts
    Original geschrieben von MarvinTheRobot
    exists mit having austauschen? geht das? ich hoff ich nerv nicht allzu sehr....

    mfg, Phil.
    nein, geht nicht.
    und warum sollte man das machen wollen?

  9. #9

    Title
    Elite
    Join Date
    Feb 2002
    Posts
    482
    Thanks
    0
    Thanked 0 Times in 0 Posts
    having ist sowas wie ein "where" für die Gruppierung mit group by, d.h. du kannst, wenn du nach etwas groupst, noch zusätzlich mit having eine Bedingung stellen, welche Eigenschaften die Tupel haben müssen, wenn sie schon gruppiert sind, damit sie in der Ergebnisrelation aufscheinen dürfen... Du darfst in Having aber nur Gruppierungsattribute verwenden (i.e. nach denen du gruppierst), oder Aggregatfunktionen über die Nicht-Gruppierungs-Attribute

    Beispiel, worin das alles vorkommt:

    select Titel from Buch natural join Autor
    group by Titel
    having count(Nachname) > 1 and Titel like 'K%'

    Damit tätest du die Titel aller Bücher kriegen, an denen mehr als ein Autor gearbeitet hat und die mit K anfangen (wenns sowas in der websql-DB überhaupt gibt).

    Conclusion: having ist immer dann gut, wenn sowas der Art (alles, was irgendwo eine gewisse Anzahl von irgendwas zugeordnet hat)... naja, das ist zwar nicht sehr genau, but I hope you get the idea!

    nochmals zu any/some: ja, die beiden sind meistens durch "in" umgehbar, laut veith gibt es aber Fälle, wo any unumgehbar ist, nur fällt mir dazu keiner ein

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •