Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [MySQL] selezionare le row dove INNER JOIN fallisce

    esiste un sistema per ottenere una cosa simile:

    SELECT * FROM tab1 NOT INNER JOIN tab2 ON ecc...

  2. #2

    Re: [MySQL] selezionare le row dove INNER JOIN fallisce

    Originariamente inviato da Luca1984
    esiste un sistema per ottenere una cosa simile:

    SELECT * FROM tab1 NOT INNER JOIN tab2 ON ecc...
    codice:
    SELECT *
    FROM tab1
    LEFT JOIN tab2 ON tab1.id = tab2.id
    WHERE tab2.id IS NULL
    In pratica tutti i record di tab1.id confrontati con quello che c'e' in tab2.id

    Siccome tab1 rendera' "tutti" i record a prescindere ... essendo in LEFT JOIN con tab2, ne consegue che se in tab2 mancasse il riferimento rendera' NULL per quel dato tab1.id.

    Nel WHERE basta scegliere i record dove tab2 IS NULL.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    sicuramente funzionante...
    ma il consumo di risorse è altissimo...
    pensa che se nella tabella1 ho 300 records
    e nella tab2 ho 4000 records
    l'elaborazione della query arriva anche a 8secondi...

    quando eseguo però SELECT * FROM tab1 INNER JOIN tab2 ON ecc... [senza il NOT che ipotizzavo] i tempi scendono a 0,05 secondi

    ecco perchè volevo sapere se c'è un metodo "complementare" all'ultima query

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.