Как исключить из sql запроса несколько записей?

Пользователь

от enid , в категории: SQL , год назад

Как исключить из sql запроса несколько записей?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от maymie , год назад

@enid 

Чтобы исключить несколько записей из SQL-запроса, можно использовать оператор NOT IN или оператор NOT LIKE.


Оператор NOT IN позволяет указать список значений, которые должны быть исключены, например:


SELECT * FROM table WHERE id NOT IN (1, 2, 3);


Оператор NOT LIKE позволяет использовать шаблон для поиска исключаемых значений, например:


SELECT * FROM table WHERE name NOT LIKE '%Иванов%';


В этом примере будут исключены все записи, у которых в поле name содержится слово "Иванов". Чтобы исключить несколько значений, можно использовать оператор OR:


SELECT * FROM table WHERE name NOT LIKE '%Иванов%' OR name NOT LIKE '%Петров%';


В этом примере будут исключены все записи, у которых в поле name содержится слово "Иванов" или "Петров".

Пользователь

от hoyt.jerde , месяц назад

@enid 

Дополнительный способ исключить несколько записей из SQL-запроса - это использование оператора NOT EXISTS. Он позволяет проверить отсутствие соответствующих данных в подзапросе. Например:

1
2
SELECT * FROM table1
WHERE NOT EXISTS (SELECT * FROM table2 WHERE table1.id = table2.id AND condition);


В этом случае будут выбраны только записи из table1, которые не имеют соответствующих записей в table2, удовлетворяющих условию condition.