The SQL IN Operator – SQL IN Оператор #
The IN
operator allows you to specify multiple values in a WHERE
clause.
IN
оператор нь WHERE
нөхцөлд олон утгыг тодорхойлоход ашиглагддаг.
The IN
operator is a shorthand for multiple OR
conditions.
IN
оператор нь олон OR
нөхцлийн богино хувилбар юм.
Example – Жишээ #
Return all customers from ‘Germany’, ‘France’, or ‘UK’
‘Герман’, ‘Франц’, эсвэл ‘Их Британ’-ны бүх харилцагчдыг буцаана
SELECT * FROM Customers
WHERE Country IN (‘Germany’, ‘France’, ‘UK’);
Syntax – Дүрэм #
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
SELECT багана_нэр(нүүд)
FROM хүснэгт_нэр
WHERE багана_нэр IN (утга1, утга2, ...);
Demo Database – Жишээ мэдээллийн сан #
Below is a selection from the Customers tables used in the examples:
Доорх Харилцагчид хүснэгтийг жишээ болгож ашиглав:
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 |
NOT IN #
By using the NOT
keyword in front of the IN
operator, you return all records that are NOT any of the values in the list.
IN
операторын өмнө NOT
түлхүүр үгийг ашигласнаар жагсаалт дахь утгуудаас бусад бүх мэдээллийг буцаана.
Example – Дүрэм #
Return all customers that are NOT from ‘Germany’, ‘France’, or ‘UK’:
‘Герман’, ‘Франц’, эсвэл ‘Их Британ’-ээс бусад бүх харилцагчдыг буцаана:
SELECT * FROM Customers
WHERE Country NOT IN (‘Germany’, ‘France’, ‘UK’);
IN (SELECT) #
You can also use IN
with a subquery in the WHERE
clause.
WHERE
нөхцөлд IN
-г дэд хүсэлтээр хамтад нь ашиглаж болно.
With a subquery you can return all records from the main query that are present in the result of the subquery.
Дэд хүсэлтын тусламжтайгаар та дэд хүсэлтэд байх мэдээллүүдийг үндсэн хүсэлтэндээ бүх хүлээн авч болно.
Example – Жишээ #
Return all customers that have an order in the Orders table:
Захиалгууд хүснэгтэд захиалгатай бүх харилцагчдыг буцаана:
SELECT * FROM Customers
WHERE CustomerID IN (SELECT CustomerID FROM Orders);
NOT IN (SELECT) #
The result in the example above returned 74 records, that means that there are 17 customers that haven’t placed any orders.
Дээрх жишээнд 74 мэдээлэл буцаасан бөгөөд энд нь ямар ч захиалга өгөөгүй 17 харилцагч байгаа гэсэн үг юм.
Let us check if that is correct, by using the NOT IN
operator.
Үүнийг зөв эсэхийг NOT IN операторыг ашиглан шалгая.
Example – Жишээ #
Return all customers that have NOT placed any orders in the Orders table:
Захиалгууд хүснэгтэд ямар ч захиалга өгөөгүй бүх харилцагчдыг буцаана:
SELECT * FROM Customers
WHERE CustomerID NOT IN (SELECT CustomerID FROM Orders);