SQL - Операторы
Добро пожаловать, будущие маги баз данных! Сегодня мы погружаемся в магический мир SQL-операторов. Не волнуйтесь, если вы никогда не писали ни строчки кода — мы начнем с самого начала и постепенно будем продвигаться вперед. К концу этого урока вы сможете вызывать данные не хуже kuin другие!
Что такое SQL-оператор?
Давайте начнем с азов. SQL-оператор — это как особый инструмент в вашем наборе инструментов для работы с базами данных. Он помогает вам выполнять операции с вашими данными, будь то сравнение значений, выполнение математических операций или комбинирование информации. Представьте операторы как глаголы в ваших SQL-предложениях — они заставляют все работать!
Например, когда вы говорите "Я хочу всех клиентов, чей возраст больше 30", часть "больше" — это оператор. Он сообщает базе данных, как фильтровать ваши данные.
Типы операторов в SQL
Теперь давайте рассмотрим различные типы операторов в SQL. Мы их классифицируем и дадим примеры для каждого. Затяните ремни, потому что мы отправляемся на американские горки по операторному полю!
1. Арифметические операторы
Эти операторы помогают вам выполнять математические операции с вашими данными. Вот таблица арифметических операторов:
Оператор | Описание | Пример |
---|---|---|
+ | Сложение | 5 + 3 = 8 |
- | Вычитание | 7 - 2 = 5 |
* | Умножение | 4 * 6 = 24 |
/ | Деление | 15 / 3 = 5 |
% | Остаток от деления | 17 % 5 = 2 |
Давайте посмотрим, как это работает:
SELECT product_name, price, price * 1.1 AS price_with_tax
FROM products;
В этом примере мы вычисляем новую цену, которая включает 10% налога. Оператор *
умножает исходную цену на 1.1.
2. Сравнительные операторы
Эти операторы помогают вам сравнивать значения. Они super полезны для фильтрации данных. Вот таблица сравнительных операторов:
Оператор | Описание | Пример |
---|---|---|
= | Равно | age = 30 |
<> | Не равно | status <> 'Completed' |
> | Больше | price > 100 |
< | Меньше | quantity < 5 |
>= | Больше или равно | rating >= 4 |
<= | Меньше или равно | discount <= 0.2 |
Давайте используем их в запросе:
SELECT customer_name, age
FROM customers
WHERE age > 30 AND status = 'Active';
Этот запрос находит всех активных клиентов старше 30 лет. Оператор >
проверяет возраста старше 30, а оператор =
обеспечивает, чтобы статус был exactly 'Active'.
3. Логические операторы
Логические операторы помогают вам комбинировать несколько условий. Они как клей, который удерживает ваши сложные запросы together. Вот таблица логических операторов:
Оператор | Описание |
---|---|
AND | Истина, если оба условия истинны |
OR | Истина, если любое из условий истинно |
NOT | Инвертирует результат условия |
Давайте посмотрим, как мы можем их использовать:
SELECT product_name, price, category
FROM products
WHERE (category = 'Electronics' OR category = 'Computers')
AND price < 1000
AND NOT discontinued;
Этот запрос находит товары в категориях 'Electronics' или 'Computers', priced below $1000, и не снятые с производства. Это как сказать базе данных: "Дай мне все классные гаджеты, которые не разорят бюджет и все еще доступны!"
4. Оператор LIKE
Оператор LIKE ваш лучший друг, когда вы ищете шаблоны в текстовых данных. Он использует wildcards для соответствия частям строк:
- % : Подходит для любого количества символов
- _ : Подходит для одного символа
Вот пример:
SELECT customer_name, email
FROM customers
WHERE email LIKE '%@gmail.com';
Этот запрос находит всех клиентов с адресами Gmail. Символ %
соответствует любым символам перед '@gmail.com'.
5. Оператор IN
Оператор IN — это короткий способ объединить несколько условий OR. Он super удобен, когда вы ищете совпадения в списке значений.
SELECT product_name, category
FROM products
WHERE category IN ('Books', 'Movies', 'Music');
Этот запрос выбирает все товары в категориях 'Books', 'Movies' или 'Music'. Это гораздо чище, чем писать category = 'Books' OR category = 'Movies' OR category = 'Music'
.
6. Оператор BETWEEN
Оператор BETWEEN помогает вам находить значения в диапазоне. Он включителен, то есть включает граничные значения.
SELECT order_id, order_date, total_amount
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';
Этот запрос находит все заказы, размещенные в 2023 году. Это как сказать: "Покажи мне все с Нового года до кануна Нового года!"
Приоритетность операторов в SQL
Теперь, когда мы познакомились со всеми этими замечательными операторами, важно знать, как SQL решает, какие из них evaluieren первыми при использовании нескольких операторов в одном запросе. Это называется приоритетностью операторов.
Вот упрощенная таблица приоритетности SQL-операторов, отhighest до lowest:
- Скобки ()
- Умножение/Деление (*, /)
- Сложение/Вычитание (+, -)
- Сравнительные операторы (=, <>, <, >, <=, >=)
- NOT
- AND
- OR
Давайте посмотрим, как это работает:
SELECT product_name, price, category
FROM products
WHERE category = 'Electronics' AND (price < 500 OR rating > 4);
В этом запросе SQL будет:
- Оценивать условия внутри скобок первыми (price < 500 OR rating > 4)
- Затем применить оператор AND с условием категории
Это даст нам все электроники, которые либо дешевле $500, либо имеют рейтинг выше 4.
Помните, вы всегда можете использовать скобки, чтобы явно контролировать порядок операций, если вы не уверены или хотите override defaultManager приоритетность.
И вот оно,folks! Вы только что完成了 ваш crash course в SQL-операторах. С этими инструментами в вашем арсенале, вы на пути к тому, чтобы стать maestro по манипулированию данными. Помните, что практика делает perfect, так что не бойтесь экспериментировать с этими операторами в своих собственных запросах. Счастливого кодирования!
Credits: Image by storyset