Хочешь уверенно проходить IT-интервью?

Мы понимаем, как сложно подготовиться: стресс, алгоритмы, вопросы, от которых голова идёт кругом. Но с AI тренажёром всё гораздо проще.
💡 Почему Т1 тренажёр — это мастхэв?
- Получишь настоящую обратную связь: где затык, что подтянуть и как стать лучше
- Научишься не только решать задачи, но и объяснять своё решение так, чтобы интервьюер сказал: "Вау!".
- Освоишь все этапы собеседования, от вопросов по алгоритмам до диалога о твоих целях.
Зачем листать миллион туториалов? Просто зайди в Т1 тренажёр, потренируйся и уверенно удиви интервьюеров. Мы не обещаем лёгкой прогулки, но обещаем, что будешь готов!
Реклама. ООО «Смарт Гико», ИНН 7743264341. Erid 2VtzqwP8vqy
Кратко об SQL
Хранить информацию в базах данных (БД) – обычная практика для среднего и крупного бизнеса. Такой подход позволяет при необходимости легко получить доступ к нужным сведениям. Чтобы работать с такими базами, необходимо изучить SQL — структурированный язык запросов, используемый для извлечения и обработки хранящейся информации.
Запросы языка и непосредственно сам SQL можно разделить на несколько категорий.
1. Язык определения данных
Язык определения данных или DDL позволяет создавать БД, описывать их структуру, а также устанавливать правила размещения в них данных.
Команды DDL:
ALTER
— добавить, изменить или удалить столбцы.COLLATE
— оператор сопоставления.CREATE
— создать таблицы.DROP
— оператор удаления объектов из базы данных.DISABLE TRIGGER
— отключить триггер.ENABLE TRIGGER
— включить триггер.RENAME
— переименовать.UPDATE STATISTICS
— обновить статистику.
2. Язык обработки данных DML
Язык обработки данных DML позволяет манипулировать данными в БД, изменять уже внесенную информацию, сохранять, обновлять и удалять хранимую информацию. Под данную категорию подпадает основная часть всех SQL команд.
Запросы DML:
BULK INSERT
— для загрузки данных из файла в таблицу.SELECT
— оператор запроса, возвращающий нам необходимые сведения.DELETE
— удаляет строки из таблиц.UPDATE
— изменяет табличные данные.INSERT
— вставляет новые записи.UPDATETEXT
— обновляет текст.MERGE
— смесь операторовUPDATE
иINSERT
.WRITETEXT
— запись текста.READTEXT
— чтение текста.
3. Язык управления данными или DCL
Язык управления данными или DCL позволяет настроить работу с базой данных путем установки необходимых разрешений и прав СУБД.
DCL -запросы:
GRANT
— управление доступом к базе данных.REVOKE
— отмена выданных привилегий.DENY
— отнимает у пользователя возможность выполнять действия.
4. Язык управления транзакциями TCL
Язык управления транзакциями TCL служит для управления изменениями, происходящими в результате DML-запросов, и объединяет эти DML-запросы в наборы транзакций.
TCL команды:
BEGIN
— определяем начало транзакции.COMMIT
— фиксируем изменения.ROLLBACK
— откатывает все изменения.
5. Основные команды SQL: Select
Будет сложно охватить в одной маленькой статье все особенности работы с SQL. Поэтому давайте рассмотрим виды SQL-запросов с использованием ключевого слова SELECT
. Пожалуй, это наиболее часто используемая команда, необходимая для извлечения (чтения) нужной нам информации из базы данных.
Давайте разберем по пунктам практические примеры применения таких запросов на примере созданной нами в БД таблицы Clients
с информацией о покупателях условного магазина.
Cousomer_id | First_name | Last_name | Age | Country |
1 | Абрам | Рабинович | 31 | Россия |
2 | Денис | Петров | 22 | Россия |
3 | Иван | Сидоров | 22 | Латвия |
4 | Денис | Кузнецов | 25 | Латвия |
5 | Сара | Рабинович | 28 | Беларусь |
Итак, что же можно делать с загруженными в базу сведениями при помощи рассматриваемой команды?
1. Запрашивать фамилии и имена всех клиентов. Оператор FROM
в этой конструкции указывает, из какой именно таблицы вы хотите ее (эту информацию) взять.
Например:
SELECT first_name, last_name
FROM Clients;
2. Для выбора всех столбцов из таблицы используем символ *
.
SELECT *
FROM Clients;
3. Команда SELECT
может иметь необязательный оператор WHERE
, позволяющий извлекать записи, соответствующие определенным условиям. Здесь мы выбираем из таблицы всех клиентов по фамилии Рабинович
:
SELECT *
FROM Clients;
WHERE last_name = 'Рабинович';
4. Здесь с помощью Select
мы хотим получить всех клиентов из России
:
SELECT age
FROM Clients;
WHERE country = 'Россия';
5. Также для поиска достаточно часто используются условные операторы. В следующем примере мы извлекаем из таблицы всех клиентов, возраст которых превышает 25 лет:
SELECT *
FROM Clients;
WHERE age > 25;
6. А тут мы выбираем всех клиентов, по фамилии Рабинович
проживающих в России
.
SELECT *
FROM Clients;
WHERE last_name = 'Рабинович' AND country = 'Россия';
7. Здесь SELECT
выведет результат, если все условия, разделенные оператором AND
, будут истинны. В данном случае команда выберет имена всех клиентов по фамилии Петров
из России
:
SELECT first_name
FROM Clients;
WHERE country = 'Россия' AND last_name = 'Петров';
По такому же принципу работает оператор OR
(или), c той лишь разницей, что в этом случае система будет искать элементы таблицы, совпадающие хотя бы с одной частью условия.
8. Оператор SQL NOT
выбирает строку, если заданное условие равно FALSE
. Здесь мы выбираем имена и фамилии клиентов, проживающих во всех странах, кроме Латвии
.
SELECT first_name, last_name
FROM Clients;
WHERE NOT country = 'Латвия
9. Также можно комбинировать несколько операторов AND
, OR
и NOT
в одном запросе. В этом примере мы хотим выбрать клиентов из России
или Беларуси
, возраст которых меньше 26
.
SELECT *
FROM Clients;
WHERE (country = 'Россия' OR country = 'Беларусь') AND age < 26;
10. Оператор SQL SELECT DISTINCT
выбирает уникальные, отличные от других, строки из таблицы. Здесь мы выводим неодинаковые страны проживания клиентов.
SELECT DISTINCT country
FROM Clients;
11. А здесь мы выбираем неодинаковые комбинации параметров страна
+ имя
.
SELECT DISTINCT country, first_name
FROM Clients;
12. Если нам нужно подсчитать количество уникальных строк, мы можем использовать функцию COUNT()
в совокупности с оператором DISTINCT
. Здесь команда SELECT
возвращает количество уникальных стран:
SELECT COUNT(DISTINCT country)
FROM Clients;
13. Ключевое слово AS
используется для присвоения столбцам или всей таблице временного имени, которое позже можно использовать для его или ее идентификации соответственно. Здесь переименовываем столбец first_name
на name
.
SELECT first_name AS name
FROM Clients;
14. Оператор TOP
используется для выбора фиксированного количества строк из базы данных. В примере ниже мы выбираем первые 2 строки из таблицы.
SELECT TOP 2 *
FROM Clients;
15. Ключевое слово LIMIT
используется со следующими системами баз данных: MySQL, PostgreSQL, SQLite. Здесь мы ограничиваем вывод имени и возраста клиента двумя первыми строками таблицы.
SELECT first_name, age
FROM Clients;
LIMIT 2;
16. Оператор IN
используется с предложением WHERE
для сопоставления значений в списке. Здесь мы выбираем имена клиентов, проживающих либо в России
, либо в Латвии
.
SELECT first_name, country
FROM Clients;
WHERE country IN ('Россия', 'Латвия');
17. Оператор IN
также можно использовать для выбора строк с определенным значением. Здесь выбираются строки со значением Россия
в поле country
.
SELECT first_name, country
FROM Clients;
WHERE 'Россия' in (country);
18. Ключевое выражение ORDER BY
используется для сортировки результирующего набора выводимых данных в порядке возрастания или убывания. В этом примере мы выбираем всех клиентов, а затем сортируем их в порядке возрастания по имени (т. е. по алфавиту).
SELECT *
FROM Clients;
ORDER BY first_name;
19. Чтобы явно отсортировать выбранные записи в порядке возрастания, используем ключевое слово ASC
. В примере мы выбираем всех клиентов, а затем сортируем их в порядке возрастания по возрасту.
SELECT *
FROM Clients;
ORDER BY age ASC;
Ключевое слово DESC
применяется для аналогичной сортировки, только в порядке убывания.
20. Также мы можем использовать ORDER BY
при работе с несколькими столбцами. В конструкции ниже мы выбираем все записи, а затем сортируем их по имени. Если имя повторяется более одного раза, SQL сортирует данные по возрасту.
SELECT *
FROM Clients;
ORDER BY first_name, age;
21. Можем использовать ORDER BY
вместе с ключевым словом WHERE
. В примере мы сначала выбираем данные о фамилии и возрасте клиентов не из России
. Затем выбранные записи сортируем в порядке убывания по фамилии:
SELECT last_name, age
FROM Clients;
WHERE NOT country = 'UK'
ORDER BY last_name DESC;
22. Здесь мы группируем строки по параметру country
и подсчитываем количество повторяющихся стран с помощью функции COUNT()
.
SELECT country, COUNT(*) AS number
FROM Clients;
GROUP BY country;
Это далеко не полный список вариантов использования команды SELECT
при работе с базами данных. Комбинаций довольно много. Однако, важно понять базовый принцип написания таких запросов. По большому счету, язык запросов не так сложен и основные команды при должной усидчивости можно освоить за неделю. Ну а дальше – практика, а практический опыт накапливается долго. Удачи в обучении.
Материалы по теме
- 🐘 Руководство по SQL для начинающих. Часть 1: создание базы данных, таблиц и установка связей между таблицами
- 🐘 Руководство по SQL для начинающих. Часть 2: фильтрация данных, запрос внутри запроса, работа с массивами
- 🐘 Руководство по SQL для начинающих. Часть 3: усложняем запросы, именуем вложенные запросы, анализируем скорость запроса
- SQL за 20 минут
Комментарии