Sql bu erda misollar. SQL Bu yerda: foydalanish va misollar. Qaerda foydalanishga misollar

SQL ma'lumotlar bazalari bilan ishlash uchun eng keng tarqalgan dasturlash tillaridan biri hisoblanadi. Til konstruktsiyalari nafaqat ma'lumotlar bazasini yaratishga, balki ma'lumotlarni o'zgartirish yoki tanlash uchun u bilan turli xil manipulyatsiyalarni amalga oshirishga imkon beradi.

Ma'lumotlar bazasidan ma'lumotlarni tanlash uchun [jadval nomi] dan [ma'lumotlar to'plamini] tanlash konstruktsiyasidan foydalaning. Tajriba shuni ko'rsatadiki, 80% hollarda ma'lumotlarni tanlash uchun so'rovlardan foydalanganda siz turli xil shartlardan - parametrlardan foydalanishingiz kerak. Buning uchun so'rovga qo'shimcha sifatida SQL-Where sharti, uni murakkablashtirish uchun tilga kiritilgan.

Qayerda shartidan foydalanish usullari

Ko'pincha dasturchi ma'lumotlar bazasida saqlanadigan ma'lumotlarni, asosan, hisobot berish uchun tanlashi kerak. Buning uchun oddiy tanlash so'rovini yaratish etarli bo'lmasligi mumkin. Qoida tariqasida, juda ko'p bo'lishi mumkin bo'lgan turli xil sharoitlarni, namuna olish parametrlarini hisobga olish yoki ularni tekshirish kerak. ma'lumotlar belgilangan diapazonga to'g'ri keladimi yoki ma'lum bir jadvalda.

SQL-Where konstruktsiyasi ma'lumotlarni tanlash shartlarini o'rnatish yoki ma'lumotlarning tanlangan yoki uchinchi tomon jadvaliga kiritilganligini tekshirish uchun ishlatilishi mumkin.

Tanlash opsiyalarini qayerda o‘rnatishdan foydalanish

Agar hisobot ma'lumotlar bazasidan tanlash uchun ma'lum parametrlarni belgilash kerak bo'lsa, SQL-Where konstruktsiyasining sintaksisi juda sodda tarzda tashkil etilishi mumkin. Buning uchun siz quyidagi qoidalardan foydalanishingiz mumkin:

    Select * from konstruktsiyasidan foydalanib standart so'rovni yaratishingiz kerak.

    Join kalit konstruksiyasidan foydalanib, qaysi jadvallardan tanlov amalga oshirilishini aniqlang.

    Qaerda konstruktsiyasidan foydalanib, tanlash uchun parametrlar ro'yxatini belgilang.

Bunday so'rovlarni tuzish juda oddiy va hatto yangi boshlanuvchilar uchun ham qiyinchilik tug'dirmaydi.

Voqealarni tekshirish uchun konstruksiyadan foydalanish

Agar dasturchiga faqat shart asosida jadvaldan ma'lumotlarni tanlash emas, balki uning boshqa rejaning bir yoki bir nechta jadvallariga kiritilishini tekshirish vazifasi qo'yilgan bo'lsa, SQL-Where konstruktsiyasi ajralmas bo'ladi.

Ushbu konstruktsiyaning sintaksisidan foydalanib, siz bir xil shartlarni yaratishingiz mumkin, ammo tanlangan qatorlar uchinchi tomon ma'lumotlar bazasi jadvallari to'plamiga kiritilganligini tekshiradigan ichki so'rovlar bilan.

Qoida tariqasida, bunday maqsadlar uchun vaqtinchalik jadval tuziladi, unda hodisani tekshirish uchun zarur bo'lgan barcha ma'lumotlar to'plami qayd etiladi.

Qaerda foydalanishga misollar

Endi misollar keltiriladi, keling, ma'lumotlarga ega ikkita jadval borligini tasavvur qilaylik - Tovar va TovarAmount. Birinchisida sotilayotgan tovarlarning nomlari, narxi, sotilgan sanasi va tovarni sotib olgan mijoz ko'rsatilgan. Ikkinchisi mahsulotning mavjudligini yoki aniqrog'i, qaysi biri stokda ekanligini ko'rsatadi.

Muayyan kunlar ichida sotilgan barcha mahsulotlarni ko'rsatadigan parametrli so'rovga quyidagi qurilish misol bo'lishi mumkin:

Mahsulotdan * ni tanlang

Bu erda T_Sana >= ‘12/01/2016’ va T_Sana<= ‘’12/07/1016 and T_PriceOut >0

Ushbu turdagi so'rov tanlov shartlaridan biri bilan ko'rsatilgandek, dekabr oyining birinchi etti kunida sotilgan mahsulotlar ro'yxatini, jadval ma'lumotlarini qaytaradi: T_PriceOut >0.

Agar stokda mavjud bo'lgan tovarlarni olib qo'yish shartini ko'rib chiqsak, dizayn quyidagicha bo'ladi:

Mahsulotdan * ni tanlang

Qayerda T_Tovar (TA_Tovarni tanlang, bu erda TA_ summasi >0)

Qayerda ko'plab ichki shartlar bo'lishi mumkin, lekin shuni ta'kidlash kerakki, qancha ko'p shartlar qo'yilsa, so'rov shunchalik uzoq davom etadi. Vaqtinchalik jadvallardan foydalanishning sababi aynan shu. Bir necha darajadagi ma'lumotlarni tekshirish shartini yaratishdan ko'ra, ulardan bir nechtasini yaratish va ulardagi ma'lumotlarni solishtirish tezroq.

Ushbu maqolada men sizga shartli CASE operatori haqida gapirib beraman, ularsiz bir qator vazifalarda ma'lumotlarni hisobga olish kodlar bo'laklariga aylanadi, shuningdek, uni SQL so'rovlarida qanday ishlatish kerak.

Ma'lumotlar bazasini qanchalik yaxshi loyihalashtirmasligingizdan qat'i nazar, har doim qaerda muammolar bo'ladi shartli bayonotlar yetib bo'lmaydi. Masalan, katta raqamlar o'rniga og'zaki tavsifni oling yoki ma'lumotlar mavjudligiga (yo'qligiga) qarab, qatorga qo'shimcha belgilar qo'shing yoki murakkabroq misol sifatida, turli nuanslarga qarab, bitta yoki boshqa guruh. Ko'p holatlar mavjud.

Umuman olganda, ushbu operatordan turli ma'lumotlar bazalarida kamida ikkita shakl mavjud. Birinchi variant har qanday dasturlash tilidan oddiy o'tishga o'xshaydi. Ikkinchisi mantiqiy ifodalarga bog'liq.

Biroq, ushbu maqolaning maqsadlari uchun men ikkinchi variantni ko'rib chiqaman, chunki u CASE WHEN NULL (ma'lumotlar bazasidagi null ma'lum bir qiymat emas, shuning uchun uni switch-ga o'xshash bayonotda ishlatib bo'lmaydi) kabi holatlar bilan bog'liq muammolar yo'q. ). Bundan tashqari, kundalik hayotda vazifalar ko'pincha ikkinchi variant uchun - mantiqiy iboralar orqali hisoblash uchun sodir bo'ladi. Shuning uchun, darhol o'rganish va undan foydalanishni davom ettirish yaxshiroqdir.

Odatda, u quyidagicha tavsiflanadi (sintaksis ma'lumotlar bazasiga qarab farq qilishi mumkin):

HOLAT QAChON bool_expression1 KEYIN qiymat1 ..... QAChON bool_expressionN KEYIN qiymatN BOSHQA qiymatElse END

bool_expressionX mantiqiy shartdir

valueX - tegishli mantiqiy shart bajarilgan taqdirda almashtiriladigan qiymat

valueElse - agar ilgari hech qanday shart bajarilmagan bo'lsa, almashtiriladigan qiymat.

Ushbu kichik ma'lumotdan so'ng, amaliyotga o'tamiz.

Eslatma: Aytgancha, shuni bilish kerakki, odatda ushbu operatordan nafaqat tanlashda, balki maydonlardan foydalanish mumkin bo'lgan har qanday joyda ham foydalanish mumkin. Misol uchun, jadvallarni birlashtirganda yoki hatto guruhlashda (guruh bo'yicha) filtrlashda (bor).

Shartli gap CASE...WHEN...THEN

CASE...WHEN...SHON shart gapini yaxshiroq tushunish uchun kichik bir masalani tasavvur qilaylik. Aytaylik, sizda mijozlar va ularning umumiy xaridlari haqidagi ma'lumotlarga ega jadval mavjud. Va vazifa dinamik ravishda chegirma yaratishdir. Albatta, chegirmani qo'lda o'rnatish mumkin edi. Lekin, sizda chegara bor va chegaralar qattiq bog‘langan (masalan: 1000 dan ortiq miqdorga 2% chegirma, 5000 dan ortiq esa 5% chegirmaga ega bo‘ladi va siz bu jarayonni avtomatlashtirishni xohlaysiz. Har safar ma'lumotlar bazasiga kirganingizda xatolarni izlashga hojat yo'q (mijoz kerakli miqdorni to'plagan - chegirma avtomatik ravishda paydo bo'ladi).

Keling, uchta mijozdan iborat shartli mijoz jadvalini olaylik. Misol uchun, ular juda etarli bo'ladi.

Keling, topshiriq asosida avtomatik ravishda chegirma berish uchun bir nechta shartlarni belgilaymiz. Shu bilan birga, mijozga har qanday holatda ham maksimal chegirma beriladi, deb hisoblaymiz.

1. 1000 dan summasi - 2% chegirma

2. 5000 dan summasi - 5% chegirma

3. 10 000 dan summasi - 8% chegirma

4. Buyurtmalar soni 10 - 7% chegirma

5. Buyurtmalar soni 20 - 8% chegirma

Ko'rib turganingizdek, chegirma ikki omilga bog'liq: miqdor va miqdor. Keling, chegirmaga asoslangan holda ulardan shartlar yaratishga harakat qilaylik, ya'ni qoidalar aksincha, sql so'rovida foydalanish mumkin. Biz quyidagilarni olamiz:

1. 2% - 1000 dan 4999 gacha bo'lgan miqdor va buyurtmalar soni 10 dan kam.

2. 5% - 5000 dan 9999 gacha bo'lgan miqdor va buyurtmalar soni 10 dan kam.

3. 7% - Buyurtmalar soni 10 dan 19 gacha va miqdori 10 000 dan kam

4. 8% - 20 dan miqdori yoki 10 000 dan miqdori

Endi uni yozib olishgina qoladi. Keling, quyidagi sql so'rovini olamiz

Biz nom va boshqa ma'lumotlarni tanlash nomini, order_hisobini, jami_sumni ko'rsatamiz, -- Endi biz chegirmani ko'rsatamiz CASE -- Birinchi qoida 2% QAChON c.jami_sum >= 1000 va c.jami_sum<= 4999 and c.order_count < 10 THEN 2 -- Второе правило 5% WHEN c.total_sum >= 5000 va c.jami_sum<= 9999 and c.order_count < 10 THEN 5 -- Третье правило 7% WHEN c.total_sum < 10000 and c.order_count >= 10 va c.order_count<= 19 THEN 5 -- Четвертое правило 8% WHEN c.total_sum >= 10000 yoki c.order_count >= 20 KEYIN 5 -- Hech qanday qoidalar bajarilmaydi, ya'ni chegirma 0 ni tashkil qiladi. BOSHQA 0 END C mijozidan chegirma sifatida

Amalga oshirish natijasida biz quyidagi jadvalni olamiz:

Ko‘rib turganingizdek, ikki mijozga 8 foizlik, bir mijozga esa 2 foizlik chegirma berildi. Bunday holda, har bir buyurtma bilan foiz avtomatik ravishda hisoblab chiqiladi va siz hech narsani sozlashingiz shart emas. Misol uchun, agar Petyaning miqdori 5000 ga oshsa, uning chegirmasi avtomatik ravishda 5% ga ko'tariladi (hech bo'lmaganda, chunki hali ham bir qator buyurtmalar mavjud).

Ko'pgina hollarda, siz barcha yozuvlarni olishingiz shart emas, faqat ma'lum mezonlarga javob beradiganlar. Shuning uchun namunani filtrlash uchun SQL maxsus operator mavjud QAYERDA.

1. WHERE operatori yordamida oddiy filtrlash.

Keling, masalan, jadvalimizdan faqat ma'lum bir mahsulotga tegishli yozuvlarni tanlaymiz. Buning uchun biz ko'rsatamiz qo'shimcha parametr qiymatni ustun bo'yicha filtrlaydigan tanlov Mahsulot.

Matn qiymatlarini tanlash uchun misol so'rovi:

TANLASH * Sumproduct WHERE mahsulotidan = "Velosipedlar"

Ko'rib turganingizdek, tanlov sharti filtrlashda majburiy bo'lgan bitta tirnoq ichiga olingan matn qiymatlari. Raqamli qiymatlarni filtrlashda tirnoq kerak emas.

Raqamli qiymatlarni tanlash uchun misol so'rovi:

TANLASH > 40000 Buyurtma berish Miqdori

Ushbu misolda biz savdo tushumi dan ortiq bo'lgan yozuvlarni tanladik 40 ming dollar va qo'shimcha ravishda, barcha yozuvlar maydonlar bo'yicha o'sish tartibida tartiblangan Miqdori

Quyidagi jadvalda qo'llab-quvvatlanadigan shartli bayonotlar ro'yxati keltirilgan SQL:

2. Qiymat oralig'i bo'yicha filtrlash ( ORASIDA).

Muayyan diapazonda joylashgan ma'lumotlarni tanlash uchun operator ishlatiladi ORASIDA. Quyidagi so'rov barcha qiymatlarni tanlaydi 1000 $ V 2000 $ inklyuziv, sohada Miqdori.

TANLASH * Sumproduktdan QAYERDA Miqdori ORASIDA 1000 VA 2000

Saralash tartibi so'rovdagi maydonlar tartibiga bog'liq bo'ladi. Ya'ni, bizning holatlarimizda, birinchi navbatda, ma'lumotlar ustunlar bo'yicha tartiblanadi Miqdori, keyin esa tomonidan Shahar.

3. Bo'sh yozuvlarni tanlash ( IS NULL).

IN SQL bo'sh yozuvlarni tanlash uchun maxsus operator mavjud (deb ataladi NULL). Bo'sh yozuv - bu jadvaldagi biron bir belgi kiritilmagan har qanday katak. Agar hujayra ichiga kiritilgan bo'lsa 0 yoki bo'sh joy, keyin maydon to'ldirilgan deb hisoblanadi.

TANLASH * Sumproduktdan QAYERDA Miqdori IS NULL

Yuqoridagi misolda biz ataylab maydondagi ikkita qiymatni olib tashladik Miqdori operatorning ishini ko'rsatish uchun NULL.

4. Kengaytirilgan filtrlash ( VA, YOKI).

Til SQL o'z maqsadlaringiz uchun bitta shart bilan filtrlash bilan cheklanmaydi, siz bir vaqtning o'zida ko'plab mezonlarga ko'ra ma'lumotlarni tanlash uchun juda murakkab tuzilmalardan foydalanishingiz mumkin; Buni amalga oshirish uchun SQL operatorning imkoniyatlarini kengaytiradigan qo'shimcha operatorlar mavjud QAYERDA. Bunday operatorlar: VA, YOKI, IN, EMAS. Bu operatorlar qanday ishlashiga misollar keltiramiz.

TANLASH * Sumproduktdan QAYERDA Miqdori > 40000 VA Shahar = "Toronto"

TANLASH * FROM Sumproduct WHERE Oyi= "aprel"YOKI Oy= "mart"

Keling, operatorlarni birlashtiramiz VA Va YOKI. Buning uchun biz velosipedlarni tanlaymiz ( Velosipedlar ) va konki ( Konki ), mart oyida sotilgan (mart ).

TANLASH * Sumproduct WHERE mahsulotidan= "Velosipedlar"YOKI Mahsulot= "Konki" VA Oy= "mart"

Bizning namunamiz ko'p qiymatlarni o'z ichiga olganligini ko'ramiz (martdan tashqari ( mart), shuningdek yanvar ( Yanvar), fevral ( Fevral) va aprel ( aprel)). Sababi nima? Va haqiqat shundaki SQL buyruqlarni bajarish ustuvorliklariga ega. Ya'ni operator VA operatorga qaraganda ustunlikka ega YOKI, shuning uchun birinchi navbatda mart oyida sotilgan konki bilan yozuvlar, keyin esa velosipedlar bilan bog'liq barcha yozuvlar tanlangan.

Shunday qilib, to'g'ri tanlovni olish uchun biz buyruqni bajarish ustuvorliklarini o'zgartirishimiz kerak. Buning uchun biz foydalanamiz qavslar, matematikada bo'lgani kabi. Keyin, avval qavs ichidagi operatorlar, keyin esa qolganlari qayta ishlanadi.

TANLASH * Sumproduct QAYERDAN (Mahsulot= "Velosipedlar"YOKI Mahsulot= "Konki") VA Oy= "mart"

5. Kengaytirilgan filtrlash ( IN operatori).

TANLASH * Sumproduct QAYERDA IDIN (4, 12, 58, 67)

Operator IN bilan bir xil funktsiyani bajaradi YOKI Biroq, u bir qator afzalliklarga ega:

  • Uzoq ro'yxatlar bilan ishlaganda, bilan band IN o'qish osonroq;
  • Kamroq operatorlar qo'llaniladi, bu esa so'rovni qayta ishlashni tezlashtiradi;
  • Eng muhim afzallik IN uning dizaynida qo'shimcha strukturadan foydalanish mumkinligidir TANLASH, Nima
  • murakkab kichik so'rovlarni yaratish uchun katta imkoniyatlar ochadi.

6. Kengaytirilgan filtrlash ( operator EMAS).

TANLASH * Shahar BO'LMAGAN Sumproduct danIN ("Toronto", "Monreal")

Kalit so'z EMAS namunadan keraksiz qiymatlarni olib tashlashga imkon beradi. Yana bir noyob xususiyat shundaki, u filtrlashda ishtirok etuvchi ustun nomidan oldin joylashtiriladi, keyin emas.

ning sintaksisini tushuntirish qiyin SQL Server WHERE bandi, shuning uchun ba'zi misollarni ko'rib chiqaylik.

Biz WHERE bandini faqat bitta shart bilan qanday ishlatishni ko'rib chiqamiz.

SELECT * FROM xodimlar WHERE first_name = "Jane";

Ushbu SQL Server WHERE bandida biz natijalarimizni filtrlash uchun WHERE bandidan foydalandik. xodimlar stol. Yuqoridagi SELECT iborasi barcha qatorlarni qaytaradi xodimlar stol qaerda birinchi_ism bu "Jeyn". SELECTda * ishlatilganligi sababli, barcha maydonlar xodimlar jadval natijalar to'plamida paydo bo'ladi.

Misol - AND shartidan foydalanish

Keling, WHERE bandini AND sharti bilan qanday ishlatishni ko'rib chiqaylik.

TANLASH * FROM xodimlar QERDA familiyasi = "Anderson" VA xodim_identifikatori >= 3000;

Ushbu SQL Server WHERE bandi misolida bir nechta shartlarni aniqlash uchun WHERE bandidan foydalaniladi. Bunday holda, ushbu SELECT iborasi barchasini qaytarish uchun AND shartidan foydalanadi xodimlar a bor familiya_ism"Anderson" va xodim_identifikatori 3000 dan katta yoki teng.

Misol - OR shartidan foydalanish

Keling, WHERE bandini OR sharti bilan qanday ishlatishni ko'rib chiqaylik.

xodim_identifikatori, familiya_ismi, ism_sharifini TANLASH FROM xodimlarning familiyasi = "Jonson" OR familiyasi = "Daniel";

Ushbu SQL Server WHERE bandi misolida bir nechta shartlarni aniqlash uchun WHERE bandidan foydalaniladi, lekin AND shartidan foydalanish o'rniga OR shartidan foydalanadi. Bunday holda, ushbu SELECT iborasi hammasini qaytaradi xodim_identifikatori, familiya_ism, va birinchi_ism dan olingan qiymatlar xodimlar stol qaerda familiya_ism"Jonson" yoki birinchi_ism bu "Daniel".

Misol - AND & OR shartlarini birlashtirish

AND & OR shartlarini bitta SQL bayonotida birlashtirganda WHERE bandidan qanday foydalanishni ko'rib chiqamiz.

* Xodimlardan QAYERDA (shtat = "Kaliforniya" VA familiya_ismi = "Smit") YOKI (xodimlar identifikatori = 82) NI TANLASH;

Ushbu SQL Server WHERE bandi misolida bir nechta shartlarni aniqlash uchun WHERE bandidan foydalaniladi, lekin u AND sharti va OR shartini birlashtiradi. Bu misol hammasini qaytaradi xodimlar da joylashgan davlat"Kaliforniya" va kimga tegishli familiya_ism"Smit", shuningdek, barcha xodimlar xodim_identifikatori 82 ga teng.

Ota-onalar tartibni belgilaydilar VA va OR sharoitlar baholanadi. Xuddi matematika darsida amallar tartibini o'rganganingiz kabi!

Misol - Jadvallarni birlashtirish

Keling, bir nechta jadvallarni birlashtirganda WHERE bandidan qanday foydalanishni ko'rib chiqaylik.

xodimlar.employee_id, contacts.last_name XODIMLARDAN TANLASH INNER JOIN kontaktlar ON staff.employee_id = contacts.contact_id WHERE staff.first_name = "Sara";

Ushbu SQL Server WHERE bandi misolida bir nechta jadvallarni bitta SELECT iborasida birlashtirish uchun WHERE bandidan foydalaniladi. Ushbu SELECT iborasi barcha qatorlarni qaytaradi birinchi_ism ichida xodimlar stol - "Sara". Va xodim s va kontaktlar jadvallar birlashtiriladi xodim_identifikatori dan xodimlar stol va contact_id dan kontaktlar stol.

Jadvaldan yozuvlarni tanlashda deyarli har doim ma'lum shartlarni o'rnatish kerak bo'ladi, ular yordamida biz qaysi yozuvlar kerakligini va qaysi biri bizga kerak emasligini aniqlaymiz. Va bu shartlar yordamida o'rnatilishi mumkin SQLda WHERE bandlari. Men sizni allaqachon u bilan tanishtirgan edim, lekin ushbu maqolada men sizni tanishtirishga qaror qildim QAYERDA biroz yaqinroq.

bilan boshlayman oddiy misol yordamida namuna olish SQLda WHERE bandlari:

TANLOV * jadvalidan WHERE count=5

Qaysi maydonda yozuvlar qaytariladi " hisoblash"muhim 5 . Endi so'rovni murakkablashtiramiz:

TANLOV * jadvalidan WHERE count=5 VA id< 100

Shunday qilib, yozuvlar kimning maydoniga qaytariladi " hisoblash"muhim 5 VA maydon" id"kamroq ahamiyatga ega 100 .

Albatta, siz boshqa mantiqiy operatsiyalardan foydalanishingiz mumkin. Ularning to'liq ro'yxat:

  • ! (inkor qilish)
  • VA (VA)
  • YOKI (YOKI)
  • XOR (EKSKLUZIV YOKI, ba'zan ham deyiladi MONTAJ YOKI, lekin bu nom asosan mikroprotsessor adabiyotida uchraydi)

Bir nechta mantiqiy operatorlardan foydalanishga misol:

QAYERDA !(id<= 120 AND (count=10 OR date > "10/11/1980"))

Bu, birinchi qarashda, murakkab SQL so'rovi. Buni o'zingiz aniqlashga harakat qiling.

Shuningdek SQL da WHERE bandi o'z ichiga olishi mumkin LIKE. LIKE belgilangan satrning ma'lum bir naqshga mos kelishini aniqlash imkonini beradi. Buni biroz aniqroq qilish uchun men misol keltiraman:

"%some text%" kabi matnni jadvaldan * TANLASH

Berilgan SQL so'rovi qaytadi natija_to'plami maydoni bo'lgan yozuvlarni o'z ichiga oladi " matn"quyidagi matnga ega:" ba'zi matn". E'tibor bering, bu tenglik testi emas. Matn juda katta bo'lishi mumkin, lekin agar unda qator bo'lsa: " ba'zi matn", Bu LIKE qaytadi rost.

Menga yozishga ruxsat bering LIKE uchun naqshni qanday o'rnatish kerak:

  • % - bu siz va men ishlatgan narsamiz. Ko'pincha ishlatiladi va uni anglatadi har qanday uzunlikdagi har qanday ip. Aslida, chiziq " %ba'zi matn%"Biz aytamizki, har qanday uzunlikdagi har qanday satr birinchi bo'lib keladi, keyin" ba'zi matn", va keyin yana istalgan uzunlikdagi har qanday satr. Agar matn ushbu naqshga mos kelsa, qaytib keling rost, aks holda yolg'on.
  • yagona belgidir. Ushbu shablondan foydalanish uchun diapazonlarni belgilashingiz kerak, masalan, quyidagi kabi: " ba'zi%". Bu naqsh birinchi kelganini anglatadi 1 belgi (har qanday belgi a uchun z), keyin " ba'zilari" va keyin istalgan uzunlikdagi har qanday satr.
  • _ har qanday yagona belgidir.
  • [^] - buning aksi. Masalan, siz ushbu misolni keltirishingiz mumkin: " [^az]ba'zi_". Bu naqsh har qanday belgi birinchi o'rinda turishini anglatadi, lekin faqat EMAS "a"Va EMAS "z". Keyingi qator bo'lishi kerak " ba'zilari", va keyin faqat bitta belgi.

Bilim va foydalanish qobiliyati LIKE juda muhim, mening tajribamga ishoning. Eng oddiy LIKE dan foydalanishga misol- Bu sayt qidirish. Axir, tarkib ma'lumotlar bazasida va siz faqat qidiruv satrida ko'rsatilgan qatorni o'z ichiga olgan yozuvlarni tortib olishingiz kerak. Va keyin u yordamga keladi LIKE. Men ushbu saytdagi qidiruvimni aynan shunday amalga oshirdim.

Ko‘rib chiqish