⊗ppPmDOGD 382 of 447 menu

Marrja e të dhënave nga tabelat e lidhura në PHP

Le të bëjmë një kërkesë që do të marrë të gjithë përdoruesit së bashku me qytetet e tyre. Për këtë na nevojitet komanda LEFT JOIN:

Sintaksa e saj duket si më poshtë:

SELECT fushat FROM emri_i_tabeles LEFT JOIN emri_i_tabeles_se_lidhur ON kushti_i_lidhjes WHERE kushti_i_perzgjedhjes

Le të shqyrtojmë pjesët individuale të sintaksës së kësaj komande.

Fushat

Meqenëse përzgjedhja bëhet nga disa tabela, përzgjedhja e të gjitha fushave përmes * nuk do të funksionojë. Kërkesa e mëposhtme do të zgjedhë fushat vetëm nga tabela kryesore, por jo nga ajo e lidhur:

SELECT *

Që të dhënat të zgjidhen nga të gjitha tabelat, duhet të përcaktohet emri i tabelës përpara * për përzgjedhje:

SELECT users.*, cities.*

Ose mund të listoni fushat që na duhen duke specifikuar emrin e tabelës përpara tyre:

SELECT users.name, cities.name

Këto dy mënyra kanë një problem. Çështja është se nëse fushat në tabela kanë emra të njëjtë, atëherë në array në PHP do të ketë një konflikt emrash dhe do të mbijetojë vetëm një fushë, ndërsa e dyta nuk do të jetë e pranishme.

Për të zgjidhur problemin, duhet t'u ndryshohet emri emrave në konflikt përmes komandës as:

SELECT users.name, cities.name as city_name

Lidhja

Pas komandës ON duhet të specifikojmë fushat nga dy tabelat, përmes të cilave bëhet lidhja. Në rastin tonë, kjo do të jetë fusha id nga tabela me qytete dhe fusha city_id nga tabela me përdoruesit:

ON cities.id=users.city_id

Kërkesa

Si rezultat, kërkesa që do të marrë përdoruesit së bashku me qytetet e tyre do të duket si më poshtë:

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

Detyra praktike

Supozoni se keni një tabelë me produkte dhe një tabelë me kategoritë e tyre. Shkruani një kërkesë që do të marrë emrat e produkteve së bashku me kategoritë e tyre.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo