Оператор IN

Оператор IN определяет набор значений, в которое данное значение может или не может быть включено. В соответствии с нашей учебной базой данных. на которой вы обучаетесь по настоящее время, если вы хотите найти всех продавцов, которые размещены в Barcelona или в London, вы должны использовать следующий запрос ( вывод показывается в Рисунке 5.1 ):
SELECT * FROM Salespeople WHERE city = ‘ Barcelona ‘ OR city = ‘London’;

Имеется и более простой способ поляучить ту же информацию:
SELECT * FROM Salespeople WHERE city IN ( ‘ Barcelona ‘, ‘ London ‘ );
Вывод для этого запроса показывается в Рисунке 5.2.
Как вы можете видеть, IN определяет набор значений с помощью имен членов набора заключенных в круглые скобки и отделенных запятыми. Он затем проверяет различные значения указанного поля пытаясь найти совпадение со значениями из набора. Если это случается, то предикат верен. Когда набор содержит значения номеров а не символов, одиночные кавычки опускаются. Давайте найдем всех заказчиков, относящихся к продавцам имеющих значения snum = 1001, 1007, и 1004. Вывод для следующего запроса показан на Рисунке 5.3:
SELECT * FROM Customers WHERE cnum IN ( 1001, 1007, 1004 );

SQL Execution Log

SELECT *
FROM Salespeople |WHERE city = ‘ Barcelona’ OR city = ‘ London’;

snum
sname
city
comm

1001
Peel
London
0.12

1004
Motika
London
0.11

1007
Rifkin
Barcelona
0.15

Рисунок 5.1 Нахождение продавцов в Барселоне и Лондоне

SQL Execution Log

SELECT *
FROM Salespeople WHERE city IN (‘ Barcelona ‘, ‘ London ‘;

snum
sname
city
comm

1001
Peel
London
0.12

1004
Motika
London
0.11

1007
Rifkin
Barcelona
0.15

Рисунок 5.2 SELECT использует IN

SQL Execution Log

SELECT *
FROM Customers WHERE snum IN ( 1001, 1007, 1004 );

snum
cname
city
rating
snum

2001
Hoffman
London
100
1001

2006
Clemens
London
100
1001

2008
Cisneros
San Jose
300
1007

2007
Pereira
Rome
100
1004

Рисунок 5.3: SELECT использует IN с номерами
 
 

‹ Оператор BETWEEN
Вверх
Оператор LIKE ›

Айтистанция
Добавить комментарий

Adblock
detector