Лабораторная работа 2 «Работа с SQL-запросами в PostgresSQL»

Цель работы: Ознакомиться с основными SQL-запросами (SELECT, INSERT, UPDATE, DELETE) и их использованием в PostgreSQL.


1. Подготовка к работе

Перед началом работы убедитесь, что у вас установлен PostgreSQL и доступен интерфейс pgAdmin или командная строка psql.

2. Создание тестовой базы данных

Для начала создайте новую базу данных и таблицу для выполнения запросов.

sql

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

SELECT * FROM employees;

Запрос для получения сотрудников с определенной должностью:

sql

SELECT * FROM employees WHERE position = 'Developer';

3.2. INSERT

Добавление нового сотрудника:

sql

INSERT INTO employees (name, position, salary) VALUES ('Иван Иванов', 'Developer', 60000);

3.3. UPDATE

Обновление информации о сотруднике:

sql

UPDATE employees SET salary = 65000 WHERE name = 'Иван Иванов';

3.4. DELETE

Удаление сотрудника из таблицы:

sql

DELETE FROM employees WHERE name = 'Иван Иванов';

4. Использование различных операторов

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

Вы можете использовать операторы, такие как =><>=<=<> в ваших запросах. Например:

sql

SELECT * FROM employees WHERE salary > 50000;

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

Используйте логические операторы ANDORNOT для комбинирования условий:

sql

SELECT * FROM employees WHERE position = 'Developer' AND salary > 60000;

5. Заключение

В ходе лабораторной работы вы ознакомились с основными SQL-запросами и их применением в PostgreSQL. Попробуйте экспериментировать с различными запросами и операторами для лучшего понимания работы с базами данных.

Задания для самостоятельной работы

Задание 1: Создание таблицы

Создайте таблицу products с полями: idnamepricequantityid должен быть первичным ключом.

Задание 2: Вставка данных

Добавьте в таблицу products как минимум 5 записей с различными значениями для nameprice и quantity.

Задание 3: Выборка данных

Напишите запрос, который выбирает все продукты с ценой выше 100.

Задание 4: Обновление данных

Измените цену одного из продуктов на новое значение. Используйте имя продукта для идентификации.

Задание 5: Удаление данных

Удалите продукт из таблицы products, у которого количество равно 0.

Задание 6: Сортировка данных

Напишите запрос, который выбирает все продукты и сортирует их по цене в порядке возрастания.

Задание 7: Использование агрегатных функций

Напишите запрос, который вычисляет общую стоимость всех продуктов (умножив price на quantity).

Задание 8: Группировка данных

Создайте запрос, который группирует продукты по ценовым категориям (например, низкая, средняя, высокая) и считает количество продуктов в каждой категории.

Задание 9: Использование JOIN

Создайте вторую таблицу categories с полями id и category_name. Свяжите таблицы products и categories через поле category_id в таблице products.

Задание 10: Подзапросы

Напишите запрос, который выбирает все продукты, цена которых выше средней цены всех продуктов в таблице