Читаем Самоучитель. Курс SQL. Базы данных. ORACLE полностью

Итак, чтобы выбрать информацию из некоторой таблицы, нужно написать слово SELECT, потом какие именно столбцы интересуют (через запятую), потом слово FROM и далее имя таблицы.

Любой запрос можно писать хоть весь в одну строку, хоть разбивать его на несколько строк. Если запрос получается большой и сложный, то, чтобы он был более легко читаем, его принято разбивать на несколько строк. Постепенно мы будем привыкать к хорошему стилю написания SQL–кода.

Теперь попробуем написать первую команду выборки данных:Приведенный выше запрос выберет данные из таблицы Persons. Покажет информацию из столбцов ID и Name. Получим результат вида:




Давай выведем еще и даты рождения сотрудников:Чтобы полученный результат SQL–запроса упорядочить по одному или нескольким столбцам (сортировка данных), нужно в предложение добавить еще блок ORDER BY (с англ. «упорядочить по»):



Выборка информации из таблицы без условий, то есть всех строк данных (!) не часто бывает нужна и поэтому, почти всегда, на выбираемые строки из таблицы накладывают условие или условия, чтобы отбирать только подходящие условиям данные. Это делается с помощью блока WHERE. Именно в блоке WHERE пишутся одно или несколько (комбинация) условий, для определения отбираемых данных. Его место в запросе SELECT:



Блок ORDER BY всегда пишется в самом конце SQL–запроса!

Если к выводимым данным необходимо добавить данные еще из другой одной или нескольких таблиц (присоединить к выводящимся данным данные из других таблиц), то после того, как мы написали слово FROM и имя основной таблицы, мы можем присоединять дополнительные таблицы с помощью слова JOIN:



Ничего себе, сколько всего, скажешь ты, как это можно все запомнить и понять?! Каждый блок мы разберем по–отдельности и каждому уделим достаточно внимания!

Но и это еще не все. Есть еще одна возможность команды SELECT – это группировка.

Получаемые данные можно группировать по одному или нескольким признакам одновременно.

Для того чтобы указать по одинаковым значениям в каком столбце необходимо данные группировать, нужно команду SELECT дополнить блоком GROUP BY (с англ. «группировать по») и затем написать имя столбца, по которому необходима группировка. И теперь все строки получаемого набора данных будут группироваться по одинаковому значению в этом столбце.

Также, может понадобиться в конце года, например, отобрать «любимых» клиентов нашей организации для того, чтобы поздравить их с наступающими праздниками и сделать некоторый приятный бонус. Любимыми являются клиенты, у которых сумма заказов за прошедший год более 500.000 рублей.

Для решения подобной задачи, вначале, из таблицы «Продаж» мы отберем все сделки за прошедший год. Для выборки данных, согласно этому условию, воспользуемся блоком WHERE. Итак, когда данные будут извлечены из таблицы, за нужный нам промежуток времени, мы можем увидеть, что ни один из единичных заказов не больше 500.000 р. То есть ни в одной полученной строке в столбце «Сумма сделки» значение не больше 500.000 р. Но, если сгруппировать полученные данные по каждому клиенту (иными словами строки с одинаковым значением Клиента слить в одну, подсчитав Сумму сделок по каждому клиенту), то может получиться, что некоторые клиенты, суммарно за год, хорошо превышают этот порог.

До выполнения группировки мы видели в полученной таблице данных каждую строчку продаж, затем мы все данные сгруппировали по клиентам и стали видеть по каждому клиенту теперь только одну строку с общим итогом по нему.

Например, все выбранные продажи «Клиенту А» сгруппировались в одну строку, подсчитав сумму продаж ему, а все продажи «Клиенту Б» в другую строку, также с итогом по нему. И так по каждому клиенту. Теперь мы видим итоги с суммами продаж за год с группировкой по клиентам. Так как «Клиент А», например, в течение года каждый месяц делал заказы на 100.000 р. Поэтому, после группировки всех сумм его заказов, мы получим 1.200.000 р (100.000 x 12 месяцев).

Подробнее про группировку и ее мощные сопутствующие возможности, мы рассмотрим в отдельной главе. У нас будет сразу несколько уроков, связанных с группировкой, чтобы хорошо разобрать эту тему.

Место слова GROUP BY в предложении SELECT:



После группировки всех продаж за год в общем отчете, тем не менее, еще остается много клиентов, которые обращались в нашу компанию один или два раза, и, что самое главное, общая сумма их заказов не превышает порог «любимых клиентов». И таких клиентов много. Руководство нашей компании не хотело бы вручную из полученных итогов отбирать «Любимых клиентов». Чтобы оставить только нужные данные на основе получаемых сгруппированных итогов, мы воспользуемся опцией «

HAVING

» блока

GROUP

BY

.

Перейти на страницу:

Похожие книги

Тайны и секреты компьютера
Тайны и секреты компьютера

Эта книга предназначена для тех, кто самостоятельно осваивает мир информационных технологий. Программирование в среде Microsoft Office, устройство сетей Internet и Fidonet, работа системы электронной почты, структура системного реестра Windows и файловой системы, строение жидкокристаллических дисплеев и проблема наличия различных кодировок русского языка, — про все это рассказывается в ней. Многообразие тем и легкий стиль изложения сделают ее вашим спутником на долгое время, и вы всегда сможете найти в ней нужную именно в данный момент информацию.Если Вы интересуетесь компьютерными технологиями, желали бы расширить свои знания и умения в этой области, то она Вам наверняка понравится.http://comptain.nm.ru

Антон Александрович Орлов , Антон Орлов

Фантастика / Зарубежная компьютерная, околокомпьютерная литература / Фэнтези / Прочая компьютерная литература / Книги по IT
Восстановление данных на 100%
Восстановление данных на 100%

В книге изложены методы восстановления данных с различных носителей информации – жестких дисков, массивов RAID, CD, DVD, карт флэш-памяти, карт фотоаппаратов и мобильных телефонов. Ремонт поврежденного оборудования рассматривается в издании только как один из аспектов всего процесса извлечения данных. Основная тема – извлечение данных, поврежденных из-за физических или логических нарушений в работе компьютерной системы либо неверных действий пользователя. В книге рассматривается восстановление случайно удаленных файлов, извлечение ценной информации с поломанных жестких дисков; описываются программы и методика восстановления данных с поврежденных массивов RAID, что критически важно для работы корпоративных компьютерных систем.Книга не требует специальной подготовки читателя: простые пошаговые процедуры восстановления данных предваряются описанием принципов их хранения на различных носителях.

Петр Андреевич Ташков

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Цифровой журнал «Компьютерра» № 2
Цифровой журнал «Компьютерра» № 2

СОДЕРЖАНИЕ НОМЕРА:За что могут посадить компьютерщика? Автор: Майор Мышкин.И для VAS, и для нас. Автор: Сергей Вильянов.Новинки CES 2010. Избранное. Автор: Алексей Стародымов.Голубятня: Золотой ключик. Автор: Сергей Голубицкий.Чаевые как новая парадигма бизнеса. Автор: Михаил Куцов.Обзор док-станции для жёстких дисков IcyBox IB-110. Автор: Игорь Осколков.CES 2010: мобильная связь. Автор: Алексей Стародымов.Василий Щепетнёв: О пользе волшебства. Автор: Василий Щепетнев.Частное охранное предприятие времён киберпанка. Автор: Ваннах Михаил.Голубятня: Факевар. Автор: Сергей Голубицкий.Кивино гнездо: Симулятор религии.Кулеры под LGA1156. Автор: Константин Иванов.Как я работал корпоративным программистом. Автор: Iseman ICEBERG.Василий Щепетнёв: Продолжение думы о пятачке. Автор: Василий Щепетнев.Обзор плеера Sony Walkman NWZ-E440. Автор: Алексей Стародымов.Голубятня: Файнридер 10. Автор: Сергей Голубицкий.Сергей Орловский (Nival): А на десерт будет полноценная модель мира. Автор: Марина Пелепец.Апокалипсис вчера, сегодня, завтра. Автор: Анатолий Вассерман.Голубятня: Симплиций о ДЕГе. Автор: Сергей Голубицкий.Агентство завтрашних проблем.

Журнал «Компьютерра» , Компьютерра

Прочая компьютерная литература / Книги по IT / Зарубежная компьютерная, околокомпьютерная литература