SQL LIKE operatori
SQL LIKE operatori
LIKE operatori WHERE bandida ustundagi matnli ma’lumotlar ichidan belgilangan naqshni qidirish uchun ishlatiladi.
LIKE operatori bilan birga ko‘pincha ikkita maxsus belgi (wildcard) ishlatiladi:
- Foiz belgisi
%— nol, bitta yoki bir nechta belgilarni bildiradi - Pastki chiziq belgisi
_— bitta yakka belgini bildiradi
Quyidagi SQL "a" harfi bilan boshlanadigan barcha mijozlar ni tanlaydi:
Misol
"a" harfi bilan boshlanadigan barcha mijozlarni tanlang:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
O‘zingiz sinab ko‘ring »
Sintaksis
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
Demo ma’lumotlar bazasi
Quyida misollarda foydalanilgan Customers jadvalidan tanlanma keltirilgan:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
% joker belgisi
% joker belgisi istalgan sondagi belgilarni, hatto nol belgini ham ifodalaydi.
Misol
Shahar (City) nomida 'on' belgilar ketma-ketligi bo‘lgan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE city LIKE '%on%';
O‘zingiz sinab ko‘ring »
_ Joker belgi
_ joker belgisi bitta belgini ifodalaydi.
Bu istalgan belgi yoki raqam bo‘lishi mumkin, lekin har bir _ bitta va faqat bitta belgini bildiradi.
Misol
Shahar (City) nomi 'l' bilan boshlanib, keyin bitta joker belgi, so‘ng 'nd' va undan keyin ikkita joker belgi keladigan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE city LIKE 'l_nd__';
O‘zingiz sinab ko‘ring »
Bilan boshlanadi
Muayyan harf yoki ibora bilan boshlanadigan yozuvlarni qaytarish uchun harf yoki iboraning oxiriga % qo‘shing.
Misol
"La" bilan boshlangan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE 'La%';
O‘zingiz sinab ko‘ring »
Maslahat: AND yoki OR operatorlari yordamida istalgan sondagi shartlarni birlashtirishingiz ham mumkin.
Misol
"a" bilan boshlanadigan yoki "b" bilan boshlanadigan barcha mijozlar ni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%' OR CustomerName LIKE 'b%';
O‘zingiz sinab ko‘ring »
Bilan tugaydi
Muayyan harf yoki ibora bilan tugaydigan yozuvlarni qaytarish uchun harf yoki iboraning boshiga % qo‘shing.
Misol
"a" bilan tugaydigan barcha mijozlar ni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE '%a';
O‘zingiz sinab ko‘ring »
Maslahat: Shuningdek, siz "bilan boshlanadi" va "bilan tugaydi" ni birlashtira olasiz:
Misol
"b" bilan boshlanib, "s" bilan tugaydigan barcha mijozlar ni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE 'b%s';
O‘zingiz sinab ko‘ring »
Tarkibida
Muayyan harf yoki iborani o‘z ichiga olgan yozuvlarni qaytarish uchun harf yoki iboradan oldin va keyin % qo‘shing.
Misol
"Yoki" iborasini o‘z ichiga olgan barcha mijozlarni qaytaring
SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';
O‘zingiz sinab ko‘ring »
Joker belgilarni birlashtirish
Istalgan joker belgi, masalan % va _, boshqa joker belgilar bilan birgalikda ishlatilishi mumkin (masalan, __ — ketma-ket ikkita ixtiyoriy belgi).
Misol
"a" bilan boshlanadigan va uzunligi kamida 3 ta belgidan iborat barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
O‘zingiz sinab ko‘ring »
Misol
Ikkinchi o‘rinda "r" harfi bo‘lgan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
O‘zingiz sinab ko‘ring »
Joker belgilarsiz
Agar joker belgi ko‘rsatilmagan bo‘lsa, natijani qaytarish uchun ibora aniq mos kelishi kerak.
Misol
Ispaniyadagi barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE Country
LIKE 'Spain';
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
