Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ppPmDOGD 382 of 447 menu
◀ ▶

Recupero di dati da tabelle correlate in PHP

Facciamo una query che recupererà tutti gli utenti insieme alle loro città. Per questo avremo bisogno del comando LEFT JOIN:

La sua sintassi è la seguente:

SELECT campi FROM nome_tabella LEFT JOIN nome_tabella_correlata ON condizione_collegamento WHERE condizione_selezione

Analizziamo le singole parti della sintassi di questo comando.

Campi

Poiché la selezione avviene da più tabelle, la selezione di tutti i campi tramite * non funzionerà. La seguente query selezionerà i campi solo dalla tabella principale, ma non da quella correlata:

SELECT *

Affinché i dati vengano selezionati da tutte le tabelle, è necessario specificare il nome della tabella prima di * per la selezione:

SELECT users.*, cities.*

In alternativa, è possibile elencare i campi necessari specificando il nome della tabella prima di essi:

SELECT users.name, cities.name

Questi due metodi hanno un problema. Il fatto è che se i campi nelle tabelle hanno nomi identici, nell'array PHP ci sarà un conflitto di nomi e vincerà solo un campo, mentre il secondo non sarà presente.

Per risolvere il problema, è necessario rinominare i nomi in conflitto tramite il comando as:

SELECT users.name, cities.name as city_name

Collegamento

Dopo il comando ON dobbiamo specificare i campi delle due tabelle tramite i quali viene stabilito il collegamento. Nel nostro caso, saranno il campo id della tabella delle città e il campo city_id della tabella degli utenti:

ON cities.id=users.city_id

Query

Alla fine, la query che recupererà gli utenti insieme alle loro città sarà la seguente:

SELECT users.name, cities.name as city_name FROM users LEFT JOIN cities ON cities.id=users.city_id

Compiti pratici

Supponiamo di avere una tabella con i prodotti e una tabella con le loro categorie. Scrivi una query che recuperi i nomi dei prodotti insieme alle loro categorie.

← →
↑
Italiano▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta