IN operator

IN operator sizga WHERE qatorida bir nechta qiymatlarni belgilash imkonini beradi.

SU

SQL IN Operator

IN operator sizga WHERE qatorida bir nechta qiymatlarni belgilash imkonini beradi.

IN operatori bir nechta OR shartlari uchun qisqacha ifodadir.

Misol

'Germany', 'France' yoki 'UK' dan barcha mijozlarni qaytarish:

SELECT * FROM Customers
WHERE Country IN ('Germany', 'France', 'UK');

Sintaksis

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);

Demo Ma'lumotlar Bazasi

Quyida misollarda ishlatilgan Customers jadvidan tanlov keltirilgan:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germaniya
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la ConstituciónMeksika D.F.05021Meksika
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312Meksika D.F.05023Meksika
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPBirlashgan Qirollik
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Shvetsiya

NOT IN

IN operatoridan oldin NOT kalit so'zini ishlatish orqali, siz ro'yxatdagi qiymatlardan hech biri bo'lmagan barcha yozuvlarni qaytarasiz.

Misol: 'Germany', 'France' yoki 'UK' dan bo'lmagan barcha mijozlarni qaytarish:

SELECT * FROM Customers
WHERE Country NOT IN ('Germany', 'France', 'UK');

IN (SELECT)

Siz IN operatorini WHERE qatorida subquery bilan ham ishlatishingiz mumkin.

Subquery bilan siz asosiy so'rov natijalarida mavjud bo'lgan barcha yozuvlarni qaytarishingiz mumkin.

Misol: Orders jadvalida buyurtma bergan barcha mijozlarni qaytarish:

SELECT * FROM Customers
WHERE CustomerID IN (SELECT CustomerID FROM Orders);

NOT IN (SELECT)

Yuqoridagi misolda natija 74 yozuvni qaytardi, bu esa 17 ta mijozning buyurtma bermaganligini anglatadi.

Bu to'g'ri ekanligini tekshirish uchun NOT IN operatoridan foydalanamiz.

Misol: Orders jadvalida hech qanday buyurtma bermagan barcha mijozlarni qaytarish:

SELECT * FROM Customers
WHERE CustomerID NOT IN (SELECT CustomerID FROM Orders);

Ushbu sahifada

Xato haqida xabar berish