[NEWSboard IBMi Forum]

Thema: Not Exist

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.749
    Du hast keine Referenz zur Haupttabelle gegeben:

    select ...
    from myfile a
    where not exists (select * from fileb b where a.key=b.key)

    Die Feldliste im Subselect wird dabei ignoriert.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Apr 2012
    Beiträge
    360
    Danke Herr Fuerchau,

    kann nun dank Ihnen früher schlafen gehen

    thanks to *all

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Warum überhaupt einen NOT EXISTS verwenden?
    Ich denke ein Exception Join ist an dieser Stelle besser.

    Soweit ich weiß kann der Optimizer direkte Joins besser optimieren, bzw. ist sogar in der Lage die Abfragen zu drehen. Bei der Verwendung von Sub-Selects in den Where-Bedingugen werden immer zuerst die From-Angaben verarbeitet und dann die Where-Bedingungen.
    (... wobei vom Entwickler-Team in Rochester in den letzten Releasen einiges an Erweiterungen in den Optimizer eingebaut wurde
    ... was genau erfährt man allenfalls, wenn man mal einen Mike Cain in Bierlaune erwischt und das ist ziemlich selten)

    Code:
    select ...
    from myfile a Exception Join file b
           on a.Key = b.Key
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.749
    Bezüglich Performance konnte ich da bisher keinen Unterschied feststellen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Apr 2012
    Beiträge
    360
    Hallo Birgitta,
    wo werden weitere where clauseln hinzugefügt?

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.749
    Die On-Klausel kann fast wie eine Where-Klausel gesehen werden:

    on a.Key = b.Key and a.key2=b.key2 and b.key3='XX' ...

    Ausdrücke und casts sind da auch erlaubt.

    Der wesentliche Unterschied zwischen Join und exists ist, dass der Join ggf. mehrere Ergebnisse liefert und somit die Ergebnisse der Haupttabelle mehrfach vorkommen können.
    Im Exists wird nur 1 Zugriff durchgeführt (nach Möglichkeit natürlich über einen Index, sonst dauerts).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. SQL INSERT if not exist then update
    By chrisonline in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 29-07-15, 12:33
  2. "Environment variable not found"
    By Kampi4 in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 09-10-06, 11:19
  3. IBM DB2 Client Configuration Assistant
    By srcdbgr in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 12-09-06, 15:37
  4. NOT NULL WITH DEFAULT
    By deni87991 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 04-08-06, 11:32
  5. Antworten: 3
    Letzter Beitrag: 06-06-06, 16:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •