LibCode»Блог

LibCode — это библиотека кода и знаний для разработчиков, где каждый найдет полезные ресурсы, уроки и инструменты для создания и совершенствования своих проектов.

MySQL | PHP | Python | C++ | JavaScript

Создано при поддержке GigaChat.

MySQL: Скобки

Скобки в SQL-запросах, включая MySQL, играют важную роль в управлении порядком выполнения операций и группировке условий. Они помогают сделать запросы более понятными и избежать ошибок. В этой статье мы рассмотрим, как и когда использовать скобки в MySQL.

Группировка условий в WHERE


Скобки используются для группировки условий в операторе WHERE, чтобы явно указать порядок выполнения логических операций (AND, OR).

Пример:
SELECT *
FROM employees
WHERE (department = 'Sales' OR department = 'Marketing') AND salary > 5000;

В этом запросе скобки указывают, что сначала выполняется проверка на принадлежность к отделам Sales или Marketing, а затем результат этой проверки объединяется с условием по зарплате.

Группировка в подзапросах


Скобки необходимы для выделения подзапросов, чтобы MySQL мог правильно интерпретировать запрос.

Пример:
SELECT *
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);

Здесь скобки выделяют подзапрос, который вычисляет среднюю зарплату.

Группировка в

...

MySQL: Операторы

В MySQL существует множество операторов, которые можно разделить на несколько категорий:

Арифметические операторы


Эти операторы используются для выполнения арифметических операций:
  • + — сложение.
  • - — вычитание.
  • * — умножение.
  • / — деление.
  • % — остаток от деления (модуль).

Пример:
SELECT 10 + 5; -- Результат: 15
SELECT 10 % 3; -- Результат: 1

Операторы сравнения


Эти операторы используются для сравнения значений:
  • = — равно.
  • <> или != — не равно.
  • > — больше.
  • < — меньше.
  • >= — больше или равно.
  • <= — меньше или равно.

Пример:
SELECT * FROM employees WHERE salary > 5000;

Логические операторы


Эти операторы используются для объединения условий в запросах:
  • AND — логическое И.
  • OR — логическое ИЛИ.
  • NOT — логическое НЕ.

Пример:
SELECT * FROM employees WHERE salary > 5000 AND department = 'Sales';

Операторы для работы с NULL (IS NULL / IS NOT NULL)


  • IS NULL — проверяет, является ли значение равным NULL.
  • IS NOT NULL — проверяет, что значение не равно NULL.

Пример:
SELECT * FROM employees WHERE salary IS NULL;

Опера

...

MySQL: Оператор IS NULL / IS NOT NULL

В SQL оператор IS NULL используется для проверки, является ли значение в столбце таблицы равным NULL. Это очень важный оператор, так как NULL — это особое значение, которое обозначает отсутствие данных или неизвестное значение. В этой статье мы рассмотрим, как работает IS NULL, почему его нельзя заменить на = NULL, и приведем примеры использования.

Что такое "NULL"?


NULL — это специальное значение в SQL, которое обозначает отсутствие данных или неизвестное значение. Это не то же самое, что пустая строка ('') или ноль (0). NULL означает, что для данного столбца в конкретной строке нет никакого значения.

Пример таблицы:
Допустим, у вас есть таблица employees с колонкой salary, которая может содержать значения NULL:
id	name	salary
1	John	5000
2	Alice	NULL
3	Bob	6000

В этой таблице у сотрудника с id = 2 значение salary равно NULL, что означает, что его зарплата неизвестна.

Почему нельзя использовать "= NULL"?


В SQL нельзя использовать оператор = для проверки на NULL. Например, следующий...

MySQL: Различие INNER, LEFT, RIGHT и FULL JOIN

В SQL, особенно в MySQL, операции соединения таблиц (JOIN) играют ключевую роль при работе с данными. Они позволяют объединять данные из нескольких таблиц на основе заданных условий. В этой статье мы рассмотрим основные типы JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN, а также разберем их различия на примерах.

INNER JOIN


INNER JOIN возвращает только те записи, для которых существует соответствие в обеих таблицах. Это наиболее часто используемый тип соединения.

Синтаксис:
SELECT колонки
FROM таблица1
INNER JOIN таблица2
ON таблица1.столбец = таблица2.столбец;

Допустим, у нас есть две таблицы: employees и departments.
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.id;

Этот запрос вернет только тех сотрудников, для которых существует соответствующий отдел.

LEFT JOIN (или LEFT OUTER JOIN)


LEFT JOIN возвращает все записи из левой таблицы и соответствующие записи из правой таблицы. Если...

MySQL: Функция CONCAT_WS

Одной из часто используемых функций в MySQL является оператор  CONCAT_WS() , который означает "Concatenate With Separator" (конкатенация с разделителем). Эта функция позволяет объединить несколько строк с указанным разделителем, что крайне удобно при формировании сложных выражений и динамически создаваемых строк.

Синтаксис функции CONCAT_WS():
CONCAT_WS(separator, str1, str2, ..., strN)

Параметр separator — это разделитель, который будет вставлен между строками. Остальные параметры — это сами строки, которые нужно соединить.

Пример 1: Соединение ФИО сотрудника
Пусть у нас есть таблица сотрудников с полями first_name, middle_name и last_name. Нам нужно получить полное имя сотрудника в формате "ФИО":
SELECT CONCAT_WS(' ', last_name, first_name, middle_name) AS full_name
FROM employees;

Результат:
| full_name           |
|---------------------|
| Иванов Иван Иванович |
| Петров Петр Петрович |

Пример 2: Формирование полного адреса
Имеется таблица с полями street, house_number, city, sta...