Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    32

    dubbio sulla Left join \ right join

    Salve a tutti
    vorrei chiedervi una informazione su un caso limite della left\right join:

    sappiamo che un join naturale tra R e S esegue il prodotto cartesiano tra R e S se queste due relazioni non hanno attributi in comune. Cosa succede ,invece se faccio una left join tra le due relazioni?

    esegue lo stesso il prodotto cartesiano oppure il risultato sarà : tutte le tuple di S (con gli attributi di R impostati a NULL) (mentre nella right join avremo tutte le tuple di R (con gli attributi di S a NULL)) ?

    grazie per la disponibilità.

  2. #2

    Re: dubbio sulla Left join \ right join

    Originariamente inviato da guns90
    sappiamo che un join naturale tra R e S esegue il prodotto cartesiano tra R e S se queste due relazioni non hanno attributi in comune. Cosa succede ,invece se faccio una left join tra le due relazioni?

    esegue lo stesso il prodotto cartesiano oppure il risultato sarà : tutte le tuple di S (con gli attributi di R impostati a NULL) (mentre nella right join avremo tutte le tuple di R (con gli attributi di S a NULL)) ?

    grazie per la disponibilità.
    Non e' corretto quanto affermi .... il prodotto cartesiano avviene solo se non esiste il riferimento ad una relazione tra le tabelle. Una join naturale dove viene precisato il campo di riferimento rende solo le tuple che corrispondono alla relazione equi-join

    es: select * from s, r
    rende un prodotto cartesiano perche' manca il riferimento tra le tabelle.

    select * from s, r
    where a.ciccio = b.ciccio

    che e' equivalente a:

    select * from s
    inner join r ON s.ciccio = r.ciccio

    rende solo le tuple equi-join


    il risultato per il left join invece sara':

    select * from s
    left join r ON s.ciccio = r.ciccio

    tutte le tuple di S e per R dove esiste la relazione ma con le tuple di R impostate a NULL dove non esiste la relazione prevista tra S e R.

    Il contrario per right join

    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.