Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзу ВвИТ 2 сем 1 курс.docx
Скачиваний:
0
Добавлен:
17.06.2026
Размер:
7.37 Mб
Скачать

Практические задания Задание 1: sql (анализ оценок студентов)

Памятка по SQL

-- выборка всех колонок из таблицы

SELECT col1, col2, ...colN

FROM tableName;

-- выборка уникальных значений (без дубликатов)

SELECT DISTINCT col1, col2, ...colN

FROM tableName;

-- выборка с условием фильтрации

SELECT col1, col2, ...colN

FROM tableName

WHERE condition;

-- выборка с несколькими условиями (И/ИЛИ)

SELECT col1, col2, ...colN

FROM tableName

WHERE condition1 AND|OR condition2;

-- выборка значений, входящих в указанный список

SELECT col2, col2, ...colN

FROM tableName

WHERE colName IN (val1, val2, ...valN);

-- выборка значений в диапазоне (включая границы)

SELECT col1, col2, ...colN

FROM tableName

WHERE colName BETWEEN val1 AND val2;

-- выборка по шаблону (с подстановочными символами % и _)

SELECT col1, col2, ...colN

FROM tableName

WHERE colName LIKE pattern;

-- сортировка результатов по возрастанию или убыванию

SELECT col1, col2, ...colN

FROM tableName

WHERE condition

ORDER BY colName [ASC|DESC];

-- группировка с вычислением суммы по группам

SELECT SUM(colName)

FROM tableName

WHERE condition

GROUP BY colName;

-- подсчет количества записей

SELECT COUNT(colName)

FROM tableName

WHERE condition;

-- группировка с условием для групп (после GROUP BY)

SELECT SUM(colName)

FROM tableName

WHERE condition

GROUP BY colName

HAVING (function condition);

-- создание новой таблицы с указанием колонок и их типов

CREATE TABLE tableName (

col1 datatype,

col2 datatype,

...

colN datatype,

PRIMARY KEY (одна или более колонка)

);

-- удаление таблицы из базы данных

DROP TABLE tableName;

-- создание уникального индекса для ускорения поиска

CREATE UNIQUE INDEX indexName

ON tableName (col1, col2, ...colN);

-- удаление существующего индекса

ALTER TABLE tableName

DROP INDEX indexName;

-- вывод структуры таблицы (колонки, типы, ключи)

DESC tableName;

-- быстрое удаление всех данных из таблицы (без возможности отката)

TRUNCATE TABLE tableName;

-- добавление, удаление или изменение типа колонки

ALTER TABLE tableName ADD|DROP|MODIFY colName [datatype];

-- переименование таблицы

ALTER TABLE tableName RENAME TO newTableName;

-- вставка новой записи в таблицу

INSERT INTO tableName (col1, col2, ...colN)

VALUES (val1, val2, ...valN);

-- обновление существующих записей

UPDATE tableName

SET col1 = val1, col2 = val2, ...colN = valN

[WHERE condition];

-- удаление записей, соответствующих условию

DELETE FROM tableName

WHERE condition;

-- создание новой базы данных (если не существует)

CREATE DATABASE [IF NOT EXISTS] dbName;

-- удаление базы данных (если существует)

DROP DATABASE [IF EXISTS] dbName;

-- переключение на указанную базу данных для работы

USE dbName;

-- фиксация всех изменений текущей транзакции

COMMIT;

-- отмена всех изменений с момента последнего COMMIT

ROLLBACK;

Условие: Есть таблицы:

  • students(id, name, group_name)

  • grades(id, student_id, subject, mark)

Задача: Вывести студентов группы *"БВТ-2"*, у которых оценка по предмету "Информационные технологии" выше 80. В результате должны быть: имя студента, группа, предмет, оценка.

Что нужно сделать:

Составить SQL-запрос с использованием JOIN и WHERE.

Что нужно объяснить:

  • Зачем нужен JOIN?

  • Какие условия указываются в WHERE?

  • Почему данные студентов и оценки могут храниться в разных таблицах?