SQLda uchta jadvalga qo'shilishning oddiy usullari (rasmlar bilan)

Mundarija:

SQLda uchta jadvalga qo'shilishning oddiy usullari (rasmlar bilan)
SQLda uchta jadvalga qo'shilishning oddiy usullari (rasmlar bilan)

Video: SQLda uchta jadvalga qo'shilishning oddiy usullari (rasmlar bilan)

Video: SQLda uchta jadvalga qo'shilishning oddiy usullari (rasmlar bilan)
Video: Boshqa telefon kamerasiga ulanish #jalolmurad 2024, May
Anonim

SQL -da jadvallar bilan ishlaganda, uchta yoki undan ko'p jadvalni so'rash kerak bo'lgan holatlar bo'lishi mumkin. Vaqtinchalik birlashtirilgan jadval yaratish uchun ikkita jadvalga qo'shilish uchun avval qo'shilish so'zini ishlatib uchta jadvalga qo'shilishingiz mumkin. Keyin uchinchi jadvalga qo'shilish uchun ikkinchi qo'shilish so'zidan foydalaning.

Qadamlar

11227971 1
11227971 1

Qadam 1. So'rovni o'tkazmoqchi bo'lgan ustun nomlarini, so'ngra SELECT -ni kiriting

So'rov o'tkazmoqchi bo'lgan uchtadan ustun nomini kiriting. Har bir ustun nomini vergul bilan ajrating. Bu misolda biz "Talabalar", "Maktablar", "Tafsilotlar" nomli uchta jadvaldan so'rov o'tkazamiz.

Masalan SELECT student_id, student_name, school_id, school, grade

11227971 2
11227971 2

Qadam 2. FROM yozing, so'ngra birinchi jadval nomi

Bu alohida satrda yoki birinchi bayonotdan so'ng darhol o'tishi mumkin. Bizning misolimizda FROM Student deb yozamiz.

11227971 3
11227971 3

Qadam 3. qo'shilish bayonotini yozing, so'ngra ikkinchi jadval nomini kiriting

Ikkita jadvalga qo'shilish uchun birlashishning to'rt turi mavjud. Ular quyidagichadir:

  • Buni amalga oshirish uchun JOIN yozing Ichki qo'shilish. Bu ikkala jadvalda ham mos qiymatlarga ega bo'lgan yozuvlarni qaytaradi. Masalan, talabalardan JOIN Tafsilotlarga qo'shiling.
  • Buni amalga oshirish uchun LEFT JOIN yozing Tashqi chap qo'shilish. Bu chap jadvaldagi barcha yozuvlarni va o'ng jadvaldagi mos keladigan qiymatlarni qaytaradi. Masalan, talabalardan LOFT JOIN tafsilotlari.
  • A qilish uchun RIGHT JOIN yozing Tashqi o'ng qo'shilish. Bu o'ng jadvaldagi barcha yozuvlarni va chap jadvaldagi mos keladigan qiymatlarni qaytaradi. Masalan, O'quvchilardan To'g'ridan -to'g'ri qo'shiling.
  • A qilish uchun FULL JOIN yozing To'liq tashqi qo'shilish. Bu ikkala jadvaldagi barcha yozuvlarni qaytaradi. Masalan, talabalardan to'liq qo'shilish tafsilotlari.
11227971 4
11227971 4

Qadam 4. Jadvallar va ustunlar birlashtirilayotgani uchun "ON" so'zini kiriting

Ushbu bayonotning sintaksisi "ON table_1.primary_key = table_2.foreign_key" dir. "Table_1" - bu siz qo'shilayotgan birinchi jadvalning nomi va "Primary_key" - birinchi jadvaldagi asosiy ustun nomi. "Table_2" - bu ikkinchi jadvalning nomi va "Foreign_key" - bu birinchi jadvalning asosiy ustuniga mos keladigan ikkinchi jadvaldagi ustun nomi.

  • Bizning misolimizda "Talabalar" - birinchi jadval va "student_id" - bu Talabalar jadvalining asosiy kaliti, u ham Tafsilotlar jadvalida. Shunday qilib, biz ON Student.student_id = Details.student_id yozamiz. Bu Talabalar jadvaliga Tafsilotlar jadvali bilan qo'shiladi va "student_id" asosiy kalit sifatida ishlatiladi.
  • Yoki, agar student_name ustuni "Tafsilotlar" jadvalida bo'lsa, ON Student.student_id = Details.student_name yozib student_id maydonining o'rniga student_name ustunini ko'rsatishingiz mumkin.
11227971 5
11227971 5

Qadam 5. Birlashma bayonotini yozing, so'ngra uchinchi jadval nomini kiriting

Bu alohida satrda yoki birinchi ikkita jadvalga qo'shilgan "ON" so'zidan so'ng darhol bo'lishi mumkin. Siz to'rtta qo'shilish bayonotidan birini ishlatishingiz mumkin.

Bizning misolimizda biz JOIN Schools deb yozamiz

11227971 6
11227971 6

Qadam 6. Qaysi jadval va ustunlar birlashtirilishini ko'rsatuvchi "ON" so'zini kiriting

Uchinchi qo'shilish uchun sintaksis "ON table_3.primary_key = table_1.foreign_key". "Jadval_1". "Table_3 - bu uchinchi jadvalning nomi. Bu uchinchi jadvalning asosiy ustunining nomi va birinchi jadvalning tashqi kaliti yordamida yakuniy qo'shilishga uchinchi jadvalni qo'shadi. Bizning misolimizda biz ON Schools.student_id = Talabalarni yozamiz..student_id. Butun qo'shilish bayonoti shunday bo'lishi kerak:

    Student_id, student_name, school_id, school, grade o'quvchilaridan TO'LIQ QO'SHILISH Tafsilotlari O'quvchilar haqida.

Tavsiya: