MySQL LIKE


ULASHISH

MySQL LIKE operatori

LIKE operatori WHERE bandida ustun matn ma’lumotlari ichida ko‘rsatilgan naqshni qidirish uchun ishlatiladi.

LIKE operatori bilan birgalikda ishlatiladigan ikkita joker belgilar mavjud:

  • Foiz belgisi % - nol, bitta yoki bir nechta belgilarni bildiradi
  • Pastki chiziq belgisi _ - bitta belgini ifodalaydi

Foiz belgisi va pastki chiziq kombinatsiyalarda ham ishlatilishi mumkin!

LIKE sintaksisi

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

Maslahat: AND yoki OR operatorlari yordamida istalgan sonli shartlarni birlashtira olasiz.

Mana, '%' va '_' joker belgilarga ega turli LIKE operatorlarini ko‘rsatadigan ba’zi misollar:

LIKE operatori Tavsif
QERDA mijoz nomi 'a%' kabi “a” bilan boshlangan qiymatlarni topadi
QERDA mijoz nomi '%a' kabi “a” bilan tugaydigan qiymatlarni topadi
QERDA mijoz nomi '%or%' kabi Har qanday holatda "yoki" bo‘lgan qiymatlarni topadi
QERDA mijoz nomi '_r%' kabi Ikkinchi holatda "r" bo‘lgan har qanday qiymatlarni topadi
QERDA mijoz nomi 'a_%' kabi “a” bilan boshlangan va uzunligi kamida 2 ta belgidan iborat har qanday qiymatlarni topadi
QERDA mijoz nomi "a__%" kabi “a” bilan boshlanadigan va uzunligi kamida 3 ta belgidan iborat har qanday qiymatlarni topadi
WHERE ContactName LIKE 'a%o' “a” bilan boshlanib, “o” bilan tugaydigan qiymatlarni topadi

Demo ma’lumotlar bazasi

Quyida Northwind namunasidagi "Mijozlar" jadvalidan tanlov mavjud ma’lumotlar bazasi:

Mijoz ID Mijoz nomi Kontakt nomi Manzil Shahar Pochta kodi Mamlakat
1 Alfreds Futterkiste Mariya Anders Obere ko‘chasi. 57 Berlin 12209 Germaniya
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Konstitutsiya 2222 Meksika D.F. 05021 Meksika
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Meksika D.F. 05023 Meksika
4 Shox atrofida Tomas Xardi 120 Gannover kv. London WA1 1DP UK
5 Berglunds snabbköp Kristina Berglund Berguvsvägen 8 Luleå S-958 22 Shvetsiya


SQL LIKE misollari

Quyidagi SQL "a" bilan boshlanadigan CustomerName bilan barcha mijozlarni tanlaydi:

Misol

SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
O‘zingiz sinab ko‘ring »

Quyidagi SQL "a" bilan tugaydigan CustomerName bilan barcha mijozlarni tanlaydi:

Misol

SELECT * FROM Customers
WHERE CustomerName LIKE '%a';
O‘zingiz sinab ko‘ring »

Quyidagi SQL istalgan holatda "yoki" ga ega bo‘lgan mijoz nomiga ega bo‘lgan barcha mijozlarni tanlaydi:

Misol

SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';
O‘zingiz sinab ko‘ring »

Quyidagi SQL ikkinchi holatda "r" ga ega bo‘lgan CustomerName bilan barcha mijozlarni tanlaydi:

Misol

SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
O‘zingiz sinab ko‘ring »

Quyidagi SQL "a" bilan boshlanadigan va uzunligi kamida 3 ta belgidan iborat bo‘lgan mijoz nomiga ega barcha mijozlarni tanlaydi:

Misol

SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
O‘zingiz sinab ko‘ring »

Quyidagi SQL "a" bilan boshlanib, "o" bilan tugaydigan Kontakt nomiga ega bo‘lgan barcha mijozlarni tanlaydi:

Misol

SELECT * FROM Customers
WHERE ContactName LIKE 'a%o';
O‘zingiz sinab ko‘ring »

Quyidagi SQL "a" dan boshlanmaydigan CustomerNameli barcha mijozlarni tanlaydi:

Misol

SELECT * FROM Customers
WHERE CustomerName NOT LIKE 'a%';
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!