Sobes.tech
Junior
108
questionbank

Какие существуют операторы в SQL?

Ответ от нейросети

sobes.tech AI

В SQL существует несколько категорий операторов:

  • Операторы сравнения: Используются для сравнения значений в выражениях.

    • = (Равно)
    • <> или != (Не равно)
    • > (Больше чем)
    • < (Меньше чем)
    • >= (Больше или равно)
    • <= (Меньше или равно)
    • BETWEEN (В диапазоне)
    • LIKE (Поиск по шаблону)
    • IN (Значение в списке)
    • IS NULL (Значение NULL)
    • ANY (Любое из значений подзапроса)
    • ALL (Все значения подзапроса)
    • EXISTS (Подзапрос возвращает хотя бы одну строку)
  • Логические операторы: Используются для комбинирования условий.

    • AND (Логическое И)
    • OR (Логическое ИЛИ)
    • NOT (Логическое НЕ)
  • Арифметические операторы: Используются для выполнения математических операций.

    • + (Сложение)
    • - (Вычитание)
    • * (Умножение)
    • / (Деление)
    • % (Остаток от деления - в зависимости от СУБД)
  • Операторы побитовых операций: (Используются для манипуляций с битами, не поддерживаются всеми СУБД в одинаковой степени)

    • & (Побитовое И)
    • | (Побитовое ИЛИ)
    • ^ (Побитовое исключающее ИЛИ)
    • ~ (Побитовое НЕ)
    • << (Побитовый сдвиг влево)
    • >> (Побитовый сдвиг вправо)
  • Операторы объединения строк:

    • || (Объединение строк - в зависимости от СУБД)
  • Специальные операторы:

    • UNION (Объединение результатов двух или более операторов SELECT)
    • UNION ALL (Объединение результатов, включая дубликаты)
    • INTERSECT (Возвращает строки, присутствующие во всех операторах SELECT)
    • EXCEPT или MINUS (Возвращает строки из первого оператора SELECT, которых нет во втором)

Пример использования оператора WHERE с операторами сравнения и логическим оператором:

-- Выбрать клиентов с возрастом более 30 и из города "Москва"
SELECT *
FROM Customers
WHERE Age > 30 AND City = 'Москва';

Пример использования оператора LIKE и BETWEEN:

-- Выбрать товары, название которых начинается на "А"
SELECT *
FROM Products
WHERE ProductName LIKE 'А%';

-- Выбрать заказы за определенный период
SELECT *
FROM Orders
WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31';