+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

[Teoria]Differenza tra Natural join ed equi-join

  1. #1
    newpc82 non è in linea Scolaretto
    Quale è?Possibile che ancora non l'abbia capita?

    Io so che:

    _l'equi-join è un particolare tipo di theta-join,in cui l'operatore che consideriamo nel confronto tra gli attributi che hanno lo stesso nome è l'uguaglianza.

    _il natural-join:è un equi-join fra 2 o più relazioni dove vengono posti in rapporto fra di loro le colonne con lo stesso nome.

    A me sembrano uguali.

  2. Quote Originariamente inviato da newpc82 Visualizza il messaggio
    Quale è?Possibile che ancora non l'abbia capita?

    Io so che:

    _l'equi-join è un particolare tipo di theta-join,in cui l'operatore che consideriamo nel confronto tra gli attributi che hanno lo stesso nome è l'uguaglianza.

    _il natural-join:è un equi-join fra 2 o più relazioni dove vengono posti in rapporto fra di loro le colonne con lo stesso nome.

    A me sembrano uguali.
    Ciao,

    che io sappia , e diversamente da come dici,
    posso porre in equi-join attributi con nomi diversi;

    il natural-join è un suo caso particolare in cui sono
    posti in equi-join gli attributi con lo stesso nome.
    ℹ️ Leggi di più su sspintux ...

  3. #3
    L'avatar di Fox
    Fox
    Fox non è in linea Scolaretto
    Ciao,
    in effetti la EQUI-JOIN permette di combinare le righe di due relazioni che soddisfano una determinata condizione, di solito la equi-join viene sempre utilizzata per congiungere le righe di due colonne aventi in comune i valori delle colonne specificate. Ovviamente tali colonne devono essere dello stesso tipo, mentre possono anche non avere lo stesso nome. Nel risultato della join sono presenti tutti gli attributi della prima e della seconda tabella. Le colonne con valori comuni risulteranno ovviamente duplicate.
    Es.
    SELECT *
    FROM a,b
    Where a.IdA = b.CodA
    
    oppure
    
    SELECT *
    FROM a INNER JOIN b ON a.IdA = b.CodA
    
    Di solito quando la condizione di join posta nella clausola WHERE è diversa dall'ugualianza(a.IdA = b.CodA) si parla di theta-join.

    La NATURAL-JOIN a differenza della equi è più specializzata in quanto associa le righe di due relazioni che presentano colonne con nome identico. Nel risultato della join compare solo una colonna delle 2 identiche, in questo caso quindi le colonne comuni non vengono duplicate.
    Es.(dipende dal dbms)
    SELECT *
    FROM a NATURAL (inner) JOIN b
    
    In realtà si crea confusione tra queste due join perché nella maggior parte dei casi si utilizza sempre la equi-join anche quando le colonne hanno lo stesso nome. Però l'importante è sapere, almeno teoricamente, che non hanno lo stesso significato.
    Ciao.

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Costruzione query con INNER JOIN e OUTER JOIN in Access
    Da Zio_Panzu nel forum Microsoft Access
    Risposte: 9
    Ultimo Post: 18-04-2013, 07:19
  2. join con c++
    Da getfar nel forum C/C++
    Risposte: 1
    Ultimo Post: 04-03-2011, 12:39
  3. [Generale]Differenza tra Natural e Inner join
    Da brandnew nel forum Altri Database Server
    Risposte: 1
    Ultimo Post: 19-05-2010, 15:34
  4. Inner join
    Da Puck nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 12-11-2008, 00:28
  5. [Teoria]Algebra relazionale: JOIN
    Da newpc82 nel forum Altri Database Server
    Risposte: 6
    Ultimo Post: 17-01-2007, 20:48