PostgreSQL operatorlari
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 |
LIKE | Qiymat naqshga mos kelishini tekshiring (katta-kichik harf sezgir) |
| YAXSHI | Qiymat naqshga mos kelishini tekshiring (katta harflar sezilmaydi) |
| VA | Mantiqiy VA |
OR | Mantiqiy OR |
IN | Qiymat taqdim etilgan ro‘yxatdagi biron bir qiymatga mos kelishini tekshiring |
| ORASIDA | Qiymat belgilangan oraliqda yoki yo‘qligini tekshiring |
IS NULL | Qiymat NULL ekanligini tekshiring |
| EMAS | Salbiy 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!
