|
|
Nell'accedere alle informazioni all'interno delle tabelle della base di dati, possiamo a volte avere bisogno di di guardare i dati tabelle da due o più differenti, abbiamo visto nell'esempio precedente. Ci è un altro senso utile accedere ai dati relazionali, usando una tecnica denominata unirsi. Quando diciamo "unirsi," significhiamo che confrontiamo i campi reali dai loro nomi in tabelle differenti, piuttosto che i dati reali all'interno di loro (anche se quando la dichiarazione è eseguita i dati reali sono confrontati).
Per un esempio di come possiamo usare unirsi, osserviamo di nuovo all'esempio precedente. Diciamo che abbiamo desiderato richiamare un elenco dettagliato dei nemici e non appena dei loro nomi del henry; nell'esempio precedente, in primo luogo eseguiremmo questa dichiarazione:
SELEZIONI il nemico A PARTIRE dai relateenemies IN CUI giocatore = 'henry '
Allora, ogni nome sulla lista richiamata, richiederemmo la seguente dichiarazione di SQL:
SELEZIONI * A PARTIRE dal playerdata DOVE username = '????'; (dove???? rappresenta ogni nome sulla lista a loro volta)
Con la tecnica unentesi, tuttavia, questo può essere fatto in una singola dichiarazione di SQL, significante meno codice. Inoltre eseguirà più velocemente (piuttosto che usando due dichiarazione). Qui è la dichiarazione che di un richiederemmo per fare questo:
il mysql > SELEZIONA * A PARTIRE dal playerdata, dai relateenemies IN CUI playerdata.username = relateenemies.enemy E da relateenemies.player = 'henry ';
Così in primo luogo stiamo selezionando tutti i dati a partire sia dal playerdata che dalle tabelle dei relateenemies ed allora stiamo disponendo una circostanza sull'unirsi delle tabelle, di modo che i dati saranno selezionati soltanto dove il campo del username nella tabella di playerdata è uguale al campo nemico nella tabella dei relateenemies. Se lo lasciassimo appena con il singolo stato, restituirebbe i risultati completi da entrambe le tabelle per ogni nemico nella tabella dei relateenemies. Così il nostro secondo stato limita i risultati per mostrare soltanto i nemici del henry confrontando il campo del giocatore nella tabella dei relateenemies al henry della stringa. Utile, eh?
Online: 627 users browsing the articles directory
|
|