⊗ppPmDOGD 382 of 447 menu

Bog‘langan jadvallardan ma’lumot olish PHPda

Keling, barcha foydalanuvchilarni ularning shaharlari bilan birga oladigan so‘rov yarataylik. Buning uchun bizga LEFT JOIN buyrug‘i kerak bo‘ladi:

Uning sintaksisi quyidagicha:

SELECT maydonlar FROM jadval_nomi LEFT JOIN bog‘langan_jadval_nomi ON bog‘lanish_sharti WHERE tanlash_sharti

Keling, ushbu buyruq sintaksisining alohida qismlarini ko‘rib chiqaylik.

Maydonlar

Tanlash bir nechta jadvallardan amalga oshirilgani sababli, * orqali barcha maydonlarni tanlash ishlamaydi. Quyidagi so‘rov faqat asosiy jadvaldan maydonlarni tanlaydi, bog‘langan jadvaldan emas:

SELECT *

Barcha jadvallardan ma’lumotlar tanlanishi uchun, * dan oldin tanlash uchun jadval nomini ko‘rsatish kerak:

SELECT users.*, cities.*

Yoki bizga kerak bo‘lgan maydonlarni ularning oldida jadval nomi bilan ko‘rsatib ro‘yxatini keltirishimiz mumkin:

SELECT users.name, cities.name

Ushbu ikkala usul muammoga ega. Gap shundaki, agar jadvallardagi maydonlar bir xil nomga ega bo‘lsa, PHP massividida nomlar to‘qnashuvi yuz beradi va faqat bitta maydon qoladi, ikkinchisi bo‘lmaydi.

Muammoni hal qilish uchun to‘qnashuvchi nomlarni as buyrug‘i orqali o‘zgartirish kerak:

SELECT users.name, cities.name as city_name

Bog‘lanish

ON buyrug‘idan keyin biz bog‘lanish amalga oshiriladigan ikkita jadvaldagi maydonlarni ko‘rsatishimiz kerak. Bizning holatda bu shaharlar jadvalidagi id maydoni va foydalanuvchilar jadvalidagi city_id maydoni bo‘ladi:

ON cities.id=users.city_id

So‘rov

Natijada, foydalanuvchilarni ularning shaharlari bilan birga oladigan so‘rov quyidagicha ko‘rinadi:

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

Amaliy vazifalar

Faraz qilaylik, sizda mahsulotlar jadvali va ularning toifalari jadvali mavjud. Mahsulot nomlarini ularning toifalari bilan birga oladigan so‘rov yozing.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish