⊗pyPmDOGD 123 of 129 menu

Python'до байланышкан таблицалардан маалымат алуу

Бардык колдонуучуларды шаарлары менен чогултуп алуучу суроо жасайлы. Бул үчүн LEFT JOIN командасы керек болот:

Анын синтаксиси төмөнкүдөй көрүнөт:

SELECT талаалар FROM таблицанын_аты LEFT JOIN байланышкан_таблицанын_аты ON байланыш_шарты WHERE тандап_алуу_шарты

Келгиле, бул команданын синтаксисиндин бөлүктөрүн кезиктирели.

Талаалар

Тандоо бир нече таблицадан жүргөндүктөн, * аркылуу бардык талааларды тандоо иштей албайт. Төмөнкү суроо негизги таблицадан гана талааларды тандап алат, бирок байланышкан таблицадан эмес:

SELECT *

Бардык таблицалардан маалымат тандалып алынуу үчүн, * ден мурун тандалуучу таблицанын атын көрсөтүү керек:

SELECT users.*, cities.*

Же болбосо, бизге керек болгон талааларды алардын алдында таблицанын атын көрсөтүп тизмелей алабыз:

SELECT users.name, cities.name

Бул эки ыкманын көйгөйү бар. Маселени, эгерде таблицалардагы талаалар бирдей аттарга ээ болсо, анда Python массивинде аттар кагылышат жана бир гана талаа жеңип чыгат, экинчиси болбой калат.

Көйгөйдү чечүү үчүн кагылышкан аттарды 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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу