Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218

    Db mysql: inner join & left join

    Salve a tutti.

    La differenza tra inner join e left join, oltre che nella struttura della query, è solo che left join genera NULL in un campo quando non si presenta una condizione, mentre l'inner join non restituisce nulla?

  2. #2

    Re: Db mysql: inner join & left join

    Originariamente inviato da Diego_vl
    Salve a tutti.

    La differenza tra inner join e left join, oltre che nella struttura della query, è solo che left join genera NULL in un campo quando non si presenta una condizione, mentre l'inner join non restituisce nulla?
    Inner join e' una equi-join, cioe' associa e presenta solo campi con valori uguali di due tabelle.

    LEFT join associa TUTTI i campi della tabella che si trova a SX delle dichiarazioni con i campi che corrispondono nella tabella di DX. Se il valore della tab a DX non esiste rendera' un NULL. Succede l'esatto contrario con RIGHT join

    qual'e' la DX e la SX?

    vedi l'ordine dell'elenco:

    FROM tab_a left join tab_b ON tab_a.id = tab_b.id

    tab_a e' a sx... il primo che trovi, tab_b e' a dx della dichiarazione. In sostanza: vengono presi TUTTI i record di tab_a e confrontati con tutti i record id della tab_b. se c'e' corrispondenza bene, altrimenti tab_b rende NULL.

    RIGHT join invece avrebbe preso TUTTI i record di tab_b e chi renderebbe un eventuale NULL sarebbe la tab_a.

    direi che la differenza e' sostanziale.

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

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.