Информационные технологииStfw.Ru 🔍

Вся правда о запросах. [Для новичков]

база данных
🕛 25.03.2008, 12:44
Работая с БД (база данных), мы совершаем различные манипуляции с данными, будь то вставка, удаление, изменение записей, выбор или обновление. Так вот, обновление, изменение и выбор метаданных (информация о таблице: имя, тип, размер колонок) называется ЗАПРОСОМ. Запросы формируются на каком-либо языке, который может являться динаковым, как для разных СУБД (Система Управления Базами Данных - MySQL, Access, Oracle) так и для конкретной СУБД. Теперь плавно переходим к самому важному - формирование запросов.

Выборка любого количества данных из одной или нескольких таблиц производиться с помощью:
SELECT
- предоставляет возможность выбора данных из указанных столбцов.
Пример:
Select fam, name - используются поля fam и name
Select * - используются ВСЕ поля

FROM
- перечисление таблиц, в которых расположенны столбцы определенные в SELECT
Пример:
From kadr

WHERE
- здесь обычно распологаются условия отбора строк
Пример:
Where data='01.02.2008';

Попробуем сформировать запрос такого характера:
"Список сотрудников у которых оклад больше 5000 руб., а премия меньше 1000 руб."

Select fam, name, otch //поля которые будем выводить
From kadr //table
Where oklad>5000 AND prem<1000;

Вроде сложного ничего нет...

Теперь давай попробуем создать сложный запрос - "вложенный" - запрос содержащий в себе 2 малых запроса.
"Сумма отработанных часов за март 2008 года свыше 40 часов"

Select fam
From Sotr //таблица Сотрудники
Where tab=(Select tab From Zarplata Where god=2008 and mes=3 group by tab having sum(summa)=40);

Второй запрос лежит в скобках после tab=... Вот его и разберем:
Ну, god и mes - это поля в таблице Zarplata, group by - группирует столбцы по указанному перечню, что позволяет получить для каждой группы созданное агрегированное значение определенное в SELECT, having - имеем лишь группы, которые удовлетворяли перечню условий отбора групп, sum(поле) - сумма, в данном случае кол-во часов.

В итоге если табельные номера равны, мы увидим фамилию счастливчика, ну если нет, то уж, значит нет...

В этой статье рассмотренно не все, если будет желание изучить запросы глубже, пишите мне...

Базы данных   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉