Visualizzazione dei risultati da 1 a 9 su 9

Discussione: mi spiegate il join

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183

    mi spiegate il join

    ciao a tutti,
    non ho capito ne mai usato il join.

    Avreste voglia di spiegarmi a cosa serve e magari mi fate pure un esempio SEMPLICISSIMO.....

    grazie mille
    victor
    ----------------------

  2. #2
    Il join ti serve per relazionare fra loro due o più tabelle se si ha la necessità di prendere informazioni che stanno parte su una tabella e parte su altre.

    Ad esempio, su due tabelle supponiamo di avere le seguenti caratteristiche:

    TABELLA A - colonne
    ID - Descrizione - IDPrezzo

    TABELLA B - colonne
    IDPrezzo - Prezzo

    Se tu devi reperire la descrizione del prodotto ed il prezzo ti serve legare le due tabelle e il campo che ti permette tale legame (join) è il campo IDPrezzo.
    Questo è Primary Key nella Tabella B (Primary Key - chiave primaria ovverossia l'identificativo univoco di un record per mezzo del quale si puà distinguere qualunque informazione presente in tabella dalle altre) e Foreign Key lella Tabella A (Foreign Key - s'intende la chiave esterna che si relazione ad una chiave primaria di un'altra tabella per relazioni logiche tra tabelle).

    Ovviamente tale colonna, deve contenere, per entrambe le tabelle lo stesso valore.

    Per cui, per avere il prezzo e la descrizione, unendo le due tabelle, basta scrivere la seguente:

    codice:
    " SELECT t1.Descrizione, t2.Prezzo " & _
    "  FROM TABELLA_A t1, TABELLA_B t2 " & _
    " WHERE t1.IDPrezzo = t2.IDPrezzo " & _
    "   AND t2.IDPrezzo = " & variabile_contenente_id
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183

    intanto grazie mille....

    poi ti vorrei chiedere: ma la parola join non la uso nella sql?
    victor
    ----------------------

  4. #4
    Si può usare in una sintasi più specifica per ASP, anche se io preferisco quella postata sopra, che è poi quella che uso per interfacciare Oracle ad ASP.
    Tuttavia non la rammento, però se fai una ricerca sul forum, qualcosa dovresti trovare.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao,
    strSQL="SELECT TABELLA_A.Descrizione, TABELLA_B.Prezzo FROM TABELLA_A INNER JOIN TABELLA_B ON TABELLA_A.IDPrezzo = TABELLA_B.IDPrezzo;"
    Jupy

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    inoltre non ho capito cosa è il t1 e t2 che usi ed inoltre non ho capito cosa intendi per variabile contenente id

    grazie ancora
    victor
    ----------------------

  7. #7
    Le JOIN sono molto utili però si deve sapere che la INNER JOINnon restituisce i valori NULL presenti nelle tabelle ad esempio se in tabella1 ci sono i campi (IDtabella1, descrizione, IDtabella2) e nella tabella2 (IDtabella2, nome, cognome) se in un record della tabella2 manca ad esempio il nome, questo record non verrà visualizzato nel set di risultati. Per evitare questi problemi ci sono le varianti OUTER JOIN:

    LEFT OUTER JOIN: Recupera tutte le righe della tabella dichiarata a sinistra(FROM) compreso i valori NULL

    RIGHT OUTER JOIN: Recupera tutte le righe della tabella dichiarata a destra(JOIN) compreso i valori NULL

    FULL OUTER JOIN: Recupera tutte le righe della tabella a sinistra e a destra compreso i valori NULL

    Comunque se le tue tabelle non hanno problemi di valori NULL allora puoi utilizzare tranquillamente la INNER JOIN

    Ciao Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    sono riuscito a relazionare due tabelle e con join non ho avuto problemi.
    Adesso ho relazionato tre tabelle ma mi da errore nell'istruzione sql

    ve la posto grazie


    SQL="SELECT prodotti.nome_prodotto, importato_da.provenienza, prezzi.prezzi FROM prodotti INNER JOIN importato_da INNER JOIN prezzi ON prodotti.id = importato_da.num and importato_da.id= prezzi.num where prodotti.nome_prodotto='"&valore&"'"
    victor
    ----------------------

  9. #9
    Originariamente inviato da victor8872
    inoltre non ho capito cosa è il t1 e t2 che usi ed inoltre non ho capito cosa intendi per variabile contenente id

    grazie ancora
    t1 e t2 sono degli alias delle due tabelle, questo ti evita di scrivere ogni volta il nome della tabella, quando da ognuna di queste devi reperire le colonne che t'interessano.

    Per variabile intendo l'Id contenente il valore che ti serve per estrarre i dati che devi reperire.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.