Kupata Data Kutoka kwa Majedwali Yanayohusiana katika PHP
Wacha tufanye ombi ambalo litawapata
watumiaji wote pamoja na miji yao. Kwa hili
tutahitaji amri ya LEFT
JOIN:
Sintaksia yake inaonekana kama ifuatavyo:
SELECT sehemu FROM jina_la_jedwali
LEFT JOIN jina_la_jedwali_lililounganishwa ON sharti_la_kuunganisha
WHERE sharti_la_uteuzi
Wacha tuchambue sehemu mbalimbali za sintaksia ya amri hii.
Sehemu
Kwa kuwa uteuzi unatoka kwa majedwali kadhaa,
uteuzi wa sehemu zote kwa * hautafanya
kazi. Ombi linalofuata litachagua sehemu tu
kutoka kwa jedwali kuu, lakini si kutoka kwa lile lililounganishwa:
SELECT *
Ili data ichaguliwe kutoka kwa majedwali yote,
inahitajika kabla ya * kubainisha jina
la jedwali la uteuzi:
SELECT users.*, cities.*
Au unaweza kuorodhesha sehemu tunazohitaji kwa kubainisha jina la jedwali kabla yazo:
SELECT users.name, cities.name
Njia hizi mbili zina tatizo. Jambo ni kwamba, ikiwa sehemu katika majedwali zina majina yale yale, basi katika safu ya PHP kutakuja kwa migongano ya majina na sehemu moja tu ndiyo itashinda, na ya pili haitakuwapo.
Kutatua tatizo inahitajika majina yanayogongana
kubadilishwa jina kwa kutumia amri ya as:
SELECT users.name, cities.name as jina_la_mji
Uhusiano
Baada ya amri ya ON lazima tubainishe
sehemu kutoka kwa majedwali mawili, ambapo huundwa
uhusiano. Katika kesi yetu hii itakuwa sehemu id
kutoka kwa jedwali la miji na sehemu city_id
kutoka kwa jedwali la watumiaji:
ON cities.id=users.city_id
Ombi
Hatimae ombi, ambalo litawapata watumiaji pamoja na miji yao litaonekana kama ifuatavyo:
SELECT
users.name, cities.name as jina_la_mji
FROM
users
LEFT JOIN cities ON cities.id=users.city_id
Kazi Za Vitendo
Wacha tuwe na jedwali la bidhaa na jedwali la aina zake. Andika ombi ambalo litapata majina ya bidhaa pamoja na aina zake.