SQL LIKE operatori


baham ko'ring

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!