KompyuterlarDasturlash

Operator SQL ichki Xabarlar: Matnni sintaksisi rang va xususiyatlari misollar

har qanday ma'lumotlar bazasini ishlab chiqish ma'lumotlari bilan yaratish va turli ma'lumotlar bilan jadvallar to'ldirish, balki yanada ishlarini nafaqat o'z ichiga oladi. to'g'ri, jadvallar va hisobot ma'lumotlari saylov da turli xil vazifalarni amalga standart tanlang dizayn foydalanish uchun.

jadvaldagi ma'lumotlarni Fetch

Biz ma'lumotlarni tanlash yoki hisobotning qurish muammosini ko'rib bo'lsa, Amal murakkabligi darajasini aniqlash mumkin. onlayn do'koni yoki yirik kompaniyalar, masalan, hosil qilingan ma'lumotlar bazalari, (hajmi bo'yicha) jiddiy bilan muomala qachon, qoida tariqasida, ma'lumotlar tanlash bitta stol cheklangan emas. qoida tariqasida, namuna uning vazifasi qarab, programcısı qiladi faqat bog'liq bo'lmagan jadvallar to'g'ri qator, balki nested so'rovlarni / sub-so'rovlar, bo'lishi mumkin. Bir stol, bir misol oddiy tuzilishga foydalanishingiz mumkin uchun:

Shaxs dan * tanlang

qaerda Shaxs - Agar ma'lumot olish qilish istayman bo'lgan jadval nomi.

Biroq, siz bir necha jadvaldagi ma'lumotlarni tanlash kerak bo'lsa, namunaviy loyihalar biri bir necha jadvallar ishtirok etish uchun foydalanish mumkin.

qo'shimcha jadvallar usullari bog'lanish

Biz asosiy darajada bunday tuzilmalar foydalanish hisoblasak, biz ya'ni namuna jadvallar, uchun zarur raqamni ulash uchun quyidagi mexanizmlarini ajratish mumkin:

  1. Operator Ichki qo'shiling.
  2. Qo'shiling yoki ikkinchi yozuv usuli hisoblanadi chap, chap Outer qo'shiling.
  3. Xoch qo'shiling.
  4. To'liq qo'shiling.

amalda jadvallarni etish operatorlari foydalanish, SQL ifodasi foydalanishni hisobga olgan holda o'rganish mumkin - Ichki qo'shiling. quyidagicha foydalanish misol bo'ladi:

Shaxs dan * tanlang

Ichki Su_Person = Pe_ID haqida bo'linmasi qo'shilish

Til SQL va Inner operator, qoida tariqasida, sezilarli darajada aniq, murakkab so'rovlar tuzilmalar amalga oshirishni jadallashtirish mumkin, ikki yoki undan ortiq jadvallar birlashtirish uchun emas, balki faqat foydalanish mumkin, lekin, shuningdek, katta ma'lumotlar bazasi rahbarlari ishini osonlashtiradi boshqa sub-so'rovlarni, ulanish uchun, va qo'shiling qo'shiling.

chiziq bilan jadvallar asosida ma'lumotlarni birlashtirib

Biz chiziq bilan bitta stol chiziqqa yig'ilgan sub-so'rovlardan bir qator aloqasi va ma'lumotlarni ko'rib bo'lsa, siz ham operatorlari Ittifoqi va Ittifoqi foydalanishingiz mumkin.

Ushbu tuzilmalar foydalanish maqsadlari va u oxirida erishish istaydi natijalarini belgilash uchun ishlab chiquvchi bog'liq bo'ladi.

Tavsif Ichki operatori qo'shiling

Ko'p hollarda, operator qo'shiling Ichki tomonidan ishlatiladigan SQL tilida bir necha jadvallar birlashtirish. Ichki SQL yilda qo'shiling Tavsif faqat bazalarini tushunish boshladi o'rtacha programcısı tushunish juda oson. Biz bu tuzilishi ish mexanizmi tavsifi hisoblasak, biz quyidagi rasm olish. bir butun sifatida mantiq operatori kesib o'tish va jadvallar har bir so'rov kiritilgan bo'lib, faqat ma'lumotlarni namuna olish imkoniyati ustida qurilgan.

Biz grafik talqin bo'yicha ish bunday qarash bo'lsa, biz SQL Ichki operatori tuzilishini qo'shiling olish, quyidagi sxema bilan ko'rsatilgan bo'lishi mumkin bo'lgan bir misol:

Misol uchun, biz rasmda şematik sifatida ko'rsatilgan ikki jadvallar, bor. Ular esa, o'z navbatida, yozuvlari bir xil raqam bor. jadvaldagi har bir bog'liq joylari bor. Biz o'yinining asosida operator ishini tushuntirishga harakat bo'lsa, qaytib natija xonalar bog'langan joylari mos ikki jadvallar, kelgan yozuvlar yig'indisi bo'ladi. Sodda qilib aytganda, so'rovlar Ma'lumotlarni soni bir stol bo'lib, (Jadval raqami ikki) faqat yozuvlarni qaytaradi.

Ichki sintaktik qo'shiling

Yuqorida aytib o'tilganidek, operator Inner, masalan, uning sintaksisi avvalo oddiy qo'shiling. bitta namuna ichida jadvallar orasidagi munosabatlar tashkil etish uchun eslayman va aynan dasturiy SQL-kodi, bir chiziq buyuriladi operator, qurish quyidagi sxematik diagrammasi uchun etarli bo'ladi:

  • Ichki = [stol takılarak asosiy sohasida] [ulanish uchun stol asosiy sohasida] haqida [Jadval nomi] qo'shiling.

Bu bayonotda aloqa uchun ishlatiladigan jadvallar kalitlari bo'ladi. qoida tariqasida, xodimlari haqida ma'lumot saqlash jadvallar guruhida, ilgari Shaxs bo'linmasi tasvirlangan va kamida bir shunga o'xshash rekord bor. Shunday qilib, bir oz avval ko'rsatilgan qilingan misol qaysi SQL Ichki qo'shiling operatori, qarash yaqindan olish.

O'RNAK ta'rifi va audio misol jadval ulanish

Biz kompaniyada ishlayotgan barcha xodimlar haqida ma'lumot saqlaydi bir shaxs stol bor. Faqat stol ustasi asosiy dala ekanligini qayd - Pe_ID. Faqat unga va bir dasta ketadi.

ikkinchi jadval Subdivision xodimlari ish bo'lgan ofislarida haqida ma'lumotni saqlaydi. U, o'z navbatida, Su_Person dala Shaxs stol orqali ulanadi. Bu nimani anglatadi? ma'lumotlar diagramma asosida stol "xodimlari" har bir rekord uchun stol qismlarda ular mehnat bo'lgan Kafedra haqida ma'lumot bo'ladi, deb aytish mumkin. Bu aloqa uchun va operator Inner qo'shiling ishlaydi.

yanada intuitiv foydalanish uchun operatori SQL Ichki (bir yoki ikki jadvallar uchun foydalanish misollar) qo'shiling ko'rib. Biz shu jadvalga misol ko'rib bo'lsa, barcha juda oddiy:

Shaxs dan * tanlang

Ichki Su_Person = Pe_ID haqida bo'linmasi qo'shilish

O'RNAK ikki jadval va Kichik so'rovlar ulanish

Operator SQL Ichki bir necha jadvaldagi ma'lumotlar u tamoyili bir oz asorati ustida ishlamoqda, yuqorida tarzda ajratish mumkin olish uchun foydalanish misollar bo'lgan, qo'shiling. ikki jadvallar vazifani murakkablashtirishi uchun. Misol uchun, biz bo'linmalari har barcha bo'limlari haqida ma'lumot saqlaydi yo'lga stol bor. Bu jadvalda bo'limi raqami va mehnat raqami qayd, va har bir bo'limi misol ma'lumotlar nomi bilan to'ldirilsin kerak. Oldinga boqib, u bu muammoni hal qilish uchun ikki usullari foydalanishingiz mumkin, deb arziydi.

Birinchi yo'l bo'lim stol namuna ulanish uchun emas. quyidagicha bo'lishi mumkin bu holda so'rov tashkil:

Shaxs dan Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name tanlang

Ichki Su_Person = Pe_ID haqida bo'linmasi qo'shilish

Ichki Su_Depart = Dep_ID va Pe_Depart = Dep_ID kuni yetib qo'shilish

muammoni hal ikkinchi usuli - yo'q, barcha ma'lumotlar bo'limi stol tanlangan bo'ladi bo'lgan Kichik so'rovlar, lekin faqat zarur foydalanish hisoblanadi. Bu birinchi usuli farqli o'laroq, u so'rov vaqtini kamaytiradi hisoblanadi.

Shaxs dan Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name tanlang

Ichki Su_Person = Pe_ID haqida bo'linmasi qo'shilish

Ichki Su_Depart = Dep_ID va Pe_Depart = Dep_ID T sifatida (joyga tanlang Dep_ID, Dep_Name, Pe_Depart) ishtirok etish

Bunday kelishuv har doim ish so'rov tezlashtirish mumkin emas, deb qayd etish lozim. u (hajmi juda katta bo'lsa) vaqtinchalik jadvalga qo'shimcha namuna ma'lumotlarni foydalanish kerak, va u asosiy namuna bilan birga edi Ba'zan holatlar bor.

Foydalanish Misol Ichki jadvallar katta qator namunalari uchun operator qo'shiling

qurilish-biriga ma'lumotlar jadvallar va Kichik so'rovlarni namunaviy muhim miqdorda uchun murakkab so'rovlar foydalanishni o'z ichiga oladi. Bu talablar SQL Inner sintaksisini qo'shiling qondirish mumkin. Bu holda operator foydalanish, misollar, balki, ichki Kichik so'rovlarni bir qator bilan, ko'plab saqlash joylarda nafaqat namunalarini murakkab bo'lishi mumkin. aniq Misol uchun, siz (Ichki SQL bayonot qo'shiling) tizimi jadvallar bir misol ma'lumotlarni olishi mumkin. Misol - jadval 3 - bu holatda juda murakkab tuzilishga ega bo'ladi.

Bu ulangan holda (birlamchi jadval) va uch yanada joriy necha ma'lumotlar tanlash sharoitida.

Ichki qo'shiling foydalanganda operatori tezroq amalga oshirish va muammoni hal qilish yo'llarini izlab kerak, shuning uchun ko'proq murakkab so'rovlar, endi u joriy qilinadi unutmang.

xulosa

Oxirida, men bir narsa aytmoqchiman: bazalari bilan ishlash - bu dasturlash eng qiyin narsa emas, shuning uchun siz bo'lsangiz, har bir shaxs bir ma'lumotlar bazasini qurish bilim sotib olish mumkin bo'ladi, va vaqt davomida, tajriba orttirish, siz professional darajada ular bilan ishlash uchun .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 uz.delachieve.com. Theme powered by WordPress.