powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Чем отличается IN() от = ?
5 сообщений из 5, страница 1 из 1
Чем отличается IN() от = ?
    #40031477
Dante80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объясните пожалуйста чем эти операции отличаются? Приведите пример не сложный.
...
Рейтинг: 0 / 0
Чем отличается IN() от = ?
    #40031588
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если выполняется сравнение с одним значением - то ничем. Если надо проверить вхождение в список - то тут голым равенством не отделаешься.
...
Рейтинг: 0 / 0
Чем отличается IN() от = ?
    #40031605
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dante80,
IN() делает проверку на вхождение значения(ий) в список, либо заранее объявленный, либо полученный в результате выборки (т.е. запроса).

Код: sql
1.
2.
SELECT * FROM (SELECT 'A', 'B') t
   WHERE 1 IN(1, 2, 3)

Запрос выведет строчку с буквами A, B, потому что 1 входит в список чисел, указанных в IN().

Код: sql
1.
2.
SELECT * FROM (SELECT 'A', 'B') t
   WHERE 1 IN(0, 2, 3)

А этот запрос ничего не вернёт, потому что 1 в список не входит.

Внутри IN() может быть подзапрос, который задаёт список, для которого вы проверяете вхождение:
Код: sql
1.
2.
SELECT c.id, c.CustomerName FROM customers c
   WHERE c.id IN(SELECT bc.id FROM bad_customers bc WHERE bc.Debt > 100)

Тут выберутся только те записи из customers, id которых попадает в список, заданный результатом подзапроса.

Последний запрос чисто для примера, потому что конструкция IN() во многих случаях эквивалентна JOIN-ам.
...
Рейтинг: 0 / 0
Чем отличается IN() от = ?
    #40031798
Dante80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Спасибо за краткость и понятность)
...
Рейтинг: 0 / 0
Чем отличается IN() от = ?
    #40031799
Dante80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99,

Спасибо за очень четкий пример
Благодаря вам теперь знаю что такое "подзапросы")
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Чем отличается IN() от = ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]