Junior
Ma'lumotlar bazasida namunalar va birikmalar haqida nima bilasiz?
sobes.tech AI
AIdan javob
Namuna (so'rovlar SELECT) ma'lumotlarni bir yoki bir nechta jadvallardan chiqaradi. Birlashtirishlar (JOIN) ular orasidagi bog'langan ustun asosida ikki yoki undan ortiq jadvallarning satrlarini birlashtiradi.
Birlashtirish turlari:
- INNER JOIN: Ikkala jadvalda ham mos keladigan satrlarni qaytaradi.
- LEFT JOIN (LEFT OUTER JOIN): Chap jadvaldagi barcha satrlarni va o'ng jadvaldagi mos keladigan satrlarni qaytaradi. Mos kelmasa, o'ng jadval uchun
NULLqaytariladi. - RIGHT JOIN (RIGHT OUTER JOIN): O'ng jadvaldagi barcha satrlarni va chap jadvaldagi mos keladigan satrlarni qaytaradi. Mos kelmasa, chap jadval uchun
NULLqaytariladi. - FULL JOIN (FULL OUTER JOIN): Kamida bir jadvalda mos keladigan satrlar bo'lsa, barcha satrlarni qaytaradi. Mos kelmasa, bo'sh joylar uchun
NULLqaytariladi. (Barcha DBMSlar tomonidan qo'llab-quvvatlanmaydi, masalan, MySQL UNION yordamida emulyatsiya qiladi). - CROSS JOIN: Ikkala jadval satrlarining kartesian ko'paytmasini qaytaradi (birinchi jadvalning har bir satri ikkinchi jadvalning har bir satri bilan birlashtiriladi).
Sintaksis misollari:
-- INNER JOIN
SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.foreign_id;
-- LEFT JOIN
SELECT customer.name, order.order_id
FROM customer
LEFT JOIN order ON customer.id = order.customer_id;
So'rovlar uchun kalit so'zlar:
SELECT: chiqariladigan ustunlarni belgilaydi.FROM: jadval(lar)ni ko'rsatadi.WHERE: berilgan shartga asoslangan satrlarni filtrlash.GROUP BY: bir xil qiymatga ega satrlarni bitta umumiy satrga guruhlash.HAVING:GROUP BYdan so'ng guruhlarni filtrlash.ORDER BY: natijani saralash.LIMIT / OFFSET: qaytariladigan satrlar sonini cheklash.
So'rovlar va birlashtirishlarni optimallashtirish ma'lumotlar bazasining ishlash samaradorligi uchun muhimdir. Indekslar, to'g'ri ma'lumot turlarini belgilash, SELECT *dan qochish (mumkin bo'lsa), WHERE shartlarini optimallashtirish ishlatiladi.
PHPda, so'rovlar va birlashtirishlar bilan ishlash uchun PDO yoki MySQLi kabi kengaytmalar ishlatiladi, ular SQL so'rovlarini bajarish uchun API taqdim etadi.