⊗ppPmDOGD 382 of 447 menu

PHP-ում կապված աղյուսակներից տվյալների ստացում

Եկեք կատարենք հարցում, որը կվերցնի բոլոր օգտատերերին իրենց քաղաքների հետ միասին: Դրա համար մեզ անհրաժեշտ կլինի LEFT JOIN հրամանը:

Դրա շարահյուսությունը հետևյալն է.

SELECT դաշտեր FROM աղյուսակի_անուն LEFT JOIN կապված_աղյուսակի_անուն ON կապի_պայման WHERE ընտրության_պայման

Եկեք բաժանենք այս հրամանի շարահյուսության առանձին մասերը:

Դաշտեր

Քանի որ ընտրությունը կատարվում է մի քանի աղյուսակներից, ապա բոլոր դաշտերի ընտրությունը *-ի միջոցով չի աշխատի: Հետևյալ հարցումը կընտրի դաշտերը միայն հիմնական աղյուսակից, բայց ոչ կապվածից.

SELECT *

Որպեսզի տվյալները ընտրվեն բոլոր աղյուսակներից, անհրաժեշտ է *-ից առաջ նշել ընտրության աղյուսակի անունը.

SELECT users.*, cities.*

Կամ կարելի է թվարկել մեզ անհրաժեշտ դաշտերը՝ դրանց դիմաց նշելով աղյուսակի անունը.

SELECT users.name, cities.name

Այս երկու եղանակներն ունեն խնդիր: Բանը նրանում է, որ եթե աղյուսակների դաշտերն ունեն նույնական անուններ, ապա PHP-ի զանգվածում կառաջանա անունների կոնֆլիկտ և հաղթելու է միայն մեկ դաշտ, իսկ երկրորդը չի լինի:

Խնդիրը լուծելու համար անհրաժեշտ է կոնֆլիկտային անունները վերանվանել as հրամանի միջոցով.

SELECT users.name, cities.name as city_name

Կապ

ON հրամանից հետո մենք պետք է նշենք երկու աղյուսակների այն դաշտերը, որոնց միջով իրականացվում է կապը: Մեր դեպքում դա կլինի id դաշտը քաղաքների աղյուսակից և city_id դաշտը օգտատերերի աղյուսակից.

ON cities.id=users.city_id

Հարցում

Ի վերջո, հարցումը, որը կվերցնի օգտատերերին իրենց քաղաքների հետ միասին, կունենա հետևյալ տեսքը.

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

Գործնական առաջադրանքներ

Ենթադրենք ունեք ապրանքների աղյուսակ և աղյուսակ դրանց կատեգորիաներով: Գրեք հարցում, որը կվերցնի ապրանքների անունները իրենց կատեգորիաների հետ միասին:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել