⊗pyPmDOGD 123 of 129 menu

Python-да боғланган jадваллардан маълумот олиш

Ҳамма фойдаланувчиларни шахарлари билан бирга оладиган сўров ясайлик. Бунинг учун LEFT JOIN буйруғи зарур бўлади:

Унинг синтаксиси quyidagicha кўринишади:

SELECT майдонлар FROM jадвал_номи LEFT JOIN боғланган_jадвал_номи ON боғланиш_шарти WHERE танлов_шарти

Келинг, бу буйруқнинг синтаксис қисмларини алоҳида кўриб чиқайлик.

Майдонлар

Неча jадвалдан маълумот олингани сабабли, * орқали барча майдонларни олиш ишламayди. Quyidagi сўров асосий jадвалнинг майдонларинигина олади, лекин боғланган jадвалникини эмас:

SELECT *

Ҳамма jадваллардан маълумот олиш учун, * олдида маълумот олинадиган jадвал номини кўрсатиш керак:

SELECT users.*, cities.*

Ёки керакли майдонларни уларнинг олдида jадвал номи билан кўрсатиб кетиш мумкин:

SELECT users.name, cities.name

Бу икки усулнинг muammosi бор. Гap шундайки, aгар jадваллардаги майдонларнинг номлари бир хил бўлса, Python-нинг массивида номлар зиддиятгиga duch келиб, фақат битта майдонгина қолади, иккинчиси бўлмайди.

Бу muammoni ҳал қилиш учун зид келувчи номларни as буйруғи орқали ўзгартириш керак:

SELECT users.name, cities.name as city_name

Боғланиш

ON буйруғидан кейин биз икки jадвал ўртасидаги боғланиш амалга ошириладиган майдонларни кўрсатишимиз керак. Бизнинг ҳолимизда бу шахарлар jадвалининг id майдони ва фойдаланувчилар jадвалининг city_id майдони бўлади:

ON cities.id=users.city_id

Сўров

Натижада, фойдаланувчиларни уларнинг шахарлари билан бирга олувчи сўров quyidagicha кўринишади:

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

Амалий вазифалар

Сизда товарлар jадвали ва уларнинг туркумлари jадвали бор деб фараз қилайлик. Товарлар номини уларнинг туркумлари билан бирга оладиган сўров язинг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш