Ответ
Основной оператор для фильтрации строк в SQL — WHERE. Он позволяет задавать условия, которым должны соответствовать возвращаемые записи.
Базовый синтаксис:
SELECT column1, column2
FROM table_name
WHERE condition;
Основные типы условий и операторов:
1. Операторы сравнения:
SELECT * FROM Products WHERE Price > 100;
SELECT * FROM Employees WHERE Department = 'Sales';
SELECT * FROM Orders WHERE Status <> 'Cancelled';
2. Логические операторы (AND, OR, NOT):
SELECT * FROM Customers
WHERE Country = 'Germany' AND (City = 'Berlin' OR City = 'Munich');
3. Оператор LIKE для поиска по шаблону:
-- Найти имена, начинающиеся на 'A'
SELECT * FROM Users WHERE Name LIKE 'A%';
-- Найти email-адреса, содержащие '@gmail.com'
SELECT * FROM Users WHERE Email LIKE '%@gmail.com';
4. Операторы IN и BETWEEN:
-- Выбор из списка значений
SELECT * FROM Products WHERE CategoryID IN (1, 5, 7);
-- Выбор диапазона
SELECT * FROM Orders
WHERE OrderDate BETWEEN '2024-01-01' AND '2024-01-31';
5. Проверка на NULL:
SELECT * FROM Customers WHERE PhoneNumber IS NULL;
Критически важное замечание по безопасности: При использовании SQL из кода приложения (например, C#) никогда не встраивайте значения напрямую в строку запроса (конкатенация). Всегда используйте параметризованные запросы для предотвращения SQL-инъекций.
Пример безопасного запроса в C#:
string sql = "SELECT * FROM Users WHERE Username = @username AND IsActive = @isActive";
using (var command = new SqlCommand(sql, connection))
{
command.Parameters.AddWithValue("@username", userInputName);
command.Parameters.AddWithValue("@isActive", true);
// ... выполнение команды
}