Цель работы: Ознакомиться с основными SQL-запросами (SELECT, INSERT, UPDATE, DELETE) и их использованием в PostgreSQL.
1. Подготовка к работе
Перед началом работы убедитесь, что у вас установлен PostgreSQL и доступен интерфейс pgAdmin или командная строка psql.
2. Создание тестовой базы данных
Для начала создайте новую базу данных и таблицу для выполнения запросов.
sql
1 2 3 4 5 6 7 8 9 10 | CREATE DATABASE test_db; \c test_db CREATE TABLE employees ( id SERIAL PRIMARY KEY, name VARCHAR(100), position VARCHAR(100), salary NUMERIC ); |
3. Выполнение SQL-запросов
3.1. SELECT
Запрос для получения всех сотрудников:
sql
1 | SELECT * FROM employees; |
Запрос для получения сотрудников с определенной должностью:
sql
1 | SELECT * FROM employees WHERE position = 'Developer'; |
3.2. INSERT
Добавление нового сотрудника:
sql
1 | INSERT INTO employees (name, position, salary) VALUES ('Иван Иванов', 'Developer', 60000); |
3.3. UPDATE
Обновление информации о сотруднике:
sql
1 | UPDATE employees SET salary = 65000 WHERE name = 'Иван Иванов'; |
3.4. DELETE
Удаление сотрудника из таблицы:
sql
1 | DELETE FROM employees WHERE name = 'Иван Иванов'; |
4. Использование различных операторов
4.1. Операторы сравнения
Вы можете использовать операторы, такие как =
, >
, <
, >=
, <=
, <>
в ваших запросах. Например:
sql
1 | SELECT * FROM employees WHERE salary > 50000; |
4.2. Логические операторы
Используйте логические операторы AND
, OR
, NOT
для комбинирования условий:
sql
1 | SELECT * FROM employees WHERE position = 'Developer' AND salary > 60000; |
5. Заключение
В ходе лабораторной работы вы ознакомились с основными SQL-запросами и их применением в PostgreSQL. Попробуйте экспериментировать с различными запросами и операторами для лучшего понимания работы с базами данных.
Задания для самостоятельной работы
Задание 1: Создание таблицы
Создайте таблицу products
с полями: id
, name
, price
, quantity
. id
должен быть первичным ключом.
Задание 2: Вставка данных
Добавьте в таблицу products
как минимум 5 записей с различными значениями для name
, price
и quantity
.
Задание 3: Выборка данных
Напишите запрос, который выбирает все продукты с ценой выше 100.
Задание 4: Обновление данных
Измените цену одного из продуктов на новое значение. Используйте имя продукта для идентификации.
Задание 5: Удаление данных
Удалите продукт из таблицы products
, у которого количество равно 0.
Задание 6: Сортировка данных
Напишите запрос, который выбирает все продукты и сортирует их по цене в порядке возрастания.
Задание 7: Использование агрегатных функций
Напишите запрос, который вычисляет общую стоимость всех продуктов (умножив price
на quantity
).
Задание 8: Группировка данных
Создайте запрос, который группирует продукты по ценовым категориям (например, низкая, средняя, высокая) и считает количество продуктов в каждой категории.
Задание 9: Использование JOIN
Создайте вторую таблицу categories
с полями id
и category_name
. Свяжите таблицы products
и categories
через поле category_id
в таблице products
.
Задание 10: Подзапросы
Напишите запрос, который выбирает все продукты, цена которых выше средней цены всех продуктов в таблице