PostgreSQL operatorlari


ULASHISH

WHERE bandidagi operatorlar

Biz WHERE bandida turli operatorlar bilan ishlashimiz mumkin:

=Kimga teng
<Dan kichik; .. dan kamroq
>Kattaroq
<=Kichik yoki teng
>=Kattaroq yoki teng
<>Teng emas
!=Teng emas
LIKEQiymat naqshga mos kelishini tekshiring (katta-kichik harf sezgir)
YAXSHIQiymat naqshga mos kelishini tekshiring (katta harflar sezilmaydi)
VAMantiqiy VA
ORMantiqiy OR
INQiymat taqdim etilgan ro‘yxatdagi biron bir qiymatga mos kelishini tekshiring
ORASIDAQiymat belgilangan oraliqda yoki yo‘qligini tekshiring
IS NULLQiymat NULL ekanligini tekshiring
EMASSalbiy natija beradi, masalan. YO‘Q, EMAS, ORASIDA EMAS

Kimga teng

= operatori ustun belgilangan qiymatga teng bo‘lgan barcha yozuvlarni qaytarishni xohlaganingizda ishlatiladi:

Misol

Brend "Volvo" bo‘lgan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE brand = 'Volvo';
Misolni ishga tushirish »

Dan kichik; .. dan kamroq

< operatori ustun belgilangan qiymatdan kichik bo‘lgan barcha yozuvlarni qaytarmoqchi bo‘lganingizda ishlatiladi.

Misol

Yil 1975 yildan kamroq bo‘lgan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE year < 1975;
Misolni ishga tushirish »


Kattaroq

> operatori ustunlar belgilangan qiymatdan katta bo‘lgan barcha yozuvlarni qaytarmoqchi bo‘lganingizda ishlatiladi.

Misol

Yil 1975 dan katta bo‘lgan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE year > 1975;
Misolni ishga tushirish »

Kichik yoki teng

<= operatori ustun belgilangan qiymatdan kichik yoki unga teng bo‘lgan barcha yozuvlarni qaytarmoqchi bo‘lganingizda ishlatiladi.

Misol

Yil 1975 dan kichik yoki unga teng bo‘lgan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE year <= 1975;
Misolni ishga tushirish »

Kattaroq yoki teng

>= operatori ustunlar belgilangan qiymatdan katta yoki unga teng bo‘lgan barcha yozuvlarni qaytarmoqchi bo‘lganingizda ishlatiladi.

Misol

Yil 1975 yildan katta yoki unga teng bo‘lgan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE year >= 1975;
Misolni ishga tushirish »

Teng emas

<> operatori ustun belgilangan qiymatga teng bo‘lmagan barcha yozuvlarni qaytarishni xohlaganingizda ishlatiladi:

Misol

Brend "Volvo" EMAS bo‘lgan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE brand <> 'Volvo';
Misolni ishga tushirish »

!= operatori bilan bir xil natijaga erishasiz:

Misol

Brend "Volvo" EMAS bo‘lgan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE brand != 'Volvo';
Misolni ishga tushirish »

LIKE

LIKE operatori ustun belgilangan naqshga teng bo‘lgan barcha yozuvlarni qaytarmoqchi bo‘lganingizda ishlatiladi.

Naqsh "Volvo" kabi mutlaq qiymat yoki maxsus ma’noga ega bo‘lgan joker belgisi bo‘lishi mumkin.

LIKE operatori bilan birgalikda ishlatiladigan ikkita joker belgilar mavjud:

  • % belgisi nol, bitta yoki bir nechta belgilarni bildiradi.
  • Pastki chiziq belgisi _, bitta belgini bildiradi.

Misol

Model bosh “M” bilan BOSLANGAN barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE model LIKE 'M%';
Misolni ishga tushirish »

LIKE operatori katta-kichik harflarga sezgir.


YAXSHI

LIKE operatori bilan bir xil, lekin ILIKE katta-kichik harflarga sezgir emas.

Misol

Model "m" bilan boshlangan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE model ILIKE 'm%';
Misolni ishga tushirish »

VA

Mantiqiy AND operatori bir nechta shartni tekshirmoqchi bo‘lganingizda ishlatiladi:

Misol

Brend "Volvo" va yili 1968 bo‘lgan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE brand = 'Volvo' AND year = 1968;
Misolni ishga tushirish »

OR

Mantiqiy OR operatori bir nechta shartdan faqat bittasining rost bo‘lishi yetarli bo‘lganda ishlatiladi:

Misol

Brend "Volvo" yoki 1975 yil bo‘lgan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE brand = 'Volvo' OR year = 1975;
Misolni ishga tushirish »

IN

IN operatori ustun qiymati ro‘yxatdagi qiymatlardan biriga mos kelganda ishlatiladi:

Misol

Ushbu ro‘yxatda brend mavjud bo‘lgan barcha yozuvlarni qaytaring: ('Volvo‘, 'Mercedes', 'Ford'):

SELECT * FROM cars
WHERE brand IN ('Volvo', 'Mercedes', 'Ford');
Misolni ishga tushirish »

ORASIDA

BETWEEN operatori ustun qiymatining belgilangan qiymatlar oralig‘ida ekanligini tekshirish uchun ishlatiladi:

Misol

Yil 1970 va 1980 yillar oralig‘idagi barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE year BETWEEN 1970 AND 1980;
Misolni ishga tushirish »

BETWEEN operatori dan va to qiymatlarini o‘z ichiga oladi, ya’ni yuqoridagi misolda natija 1970 va 1980 yillarda ishlab chiqarilgan avtomobillarni ham o‘z ichiga oladi.


IS NULL

IS NULL operatori ustun qiymati NULL ekanligini tekshirish uchun ishlatiladi:

Misol

Model NULL bo‘lgan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE model IS NULL;
Misolni ishga tushirish »

EMAS

NOT operatori LIKE, ILIKE, IN, BETWEEN va NULL operatorlari bilan birgalikda operator natijasini teskarisiga o‘zgartirish uchun ishlatilishi mumkin.

Misol: YO‘Q

Brend “B” harfi bilan boshlanmagan barcha yozuvlarni qaytaring (katta harflar farqlanadi):

SELECT * FROM cars
WHERE brand NOT LIKE 'B%';
Misolni ishga tushirish »

Misol: YAXSHI EMAS

Brend “b” bilan boshlanmagan barcha yozuvlarni qaytaring (katta harflar farq qilmaydi):

SELECT * FROM cars
WHERE brand NOT ILIKE 'b%';
Misolni ishga tushirish »

Misol: YO‘Q

Ushbu ro‘yxatda brend mavjud bo‘lmagan barcha yozuvlarni qaytaring: ('Volvo‘, 'Mercedes', 'Ford'):

SELECT * FROM cars
WHERE brand NOT IN ('Volvo', 'Mercedes', 'Ford');
Misolni ishga tushirish »

Misol: EMAS ORASIDA

Yil 1970 va 1980 orasida bo‘lmagan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE year NOT BETWEEN 1970 AND 1980;
Misolni ishga tushirish »

NOT BETWEEN operatori boshlang‘ich va oxirgi qiymatlarni ham istisno qiladi, ya’ni yuqoridagi misolda natija 1970 va 1980 yillarda ishlab chiqarilgan avtomobillarni o‘z ichiga olmaydi.

Misol: IS NO NULL

Model null bo‘lmagan barcha yozuvlarni qaytaring:

SELECT * FROM cars
WHERE model IS NOT NULL;
Misolni ishga tushirish »

Avtomobillar jadvalida NULL qiymatli ustunlar yo‘q, shuning uchun yuqoridagi misol barcha 4 qatorni qaytaradi.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!