3. Какие поля в этой таблице нас интересуют?
4. Хотим ли мы исключить какие-либо данные, отфильтровать или исключить какой-либо диапазон или период времени?
5. Как сформулировать наш запрос одним простым предложением на человеческом языке?
Цель этих вопросов — построить взаимосвязь между человеческим языком, на котором мы обычно говорим или пишем, и языком SQL. Если вы работаете аналитиком данных, то обычные вопросы о бизнесе, которые вам задают, необходимо преобразовать в операторы SQL. После получения результатов запроса следует преобразовать их обратно в доступный для всех человеческий язык. Таков принцип работы.
Примечание
Если у вас возникли проблемы с запросом, ответьте на пять вопросов, приведенных выше. И только потом пишите свой запрос.
Пишем свой первый запрос
Чтобы написать свой первый запрос, используйте существующую вкладку Execute SQL (Выполнить SQL-запрос), обозначенную SQL 1, или откройте новую вкладку панели запросов, как если бы вы открывали новую вкладку веб-браузера. Щелкните на значке Open Tab (Открыть вкладку) (рис. 34).
Итак, новая панель запросов открыта! В первую очередь пишем блок комментариев:
/*
CREATED BY: <ваше имя>
CREATED ON: <дата>
DESCRIPTION: <краткое описание запроса, например вопрос № 5>
*/
Рис. 34
Закончив блок комментариев, займемся написанием запроса SQL. Для запроса нам необходим понятный вопрос. В главе 2 мы рассмотрели пример рабочего сценария для нашей книги: вы аналитик данных компании sTunes. Как вы уже знаете из главы 3, компания sTunes специализируется на онлайн-продажах музыкальной продукции и имеет цифровую библиотеку исполнителей, треков и альбомов, а также список клиентов, которые приобрели музыкальные произведения. Предположим, служба поддержки sTunes желает разослать новую рекламу всем своим клиентам. В этом случае службе поддержки клиентов необходимо знать, обновлен ли список клиентских контактов, поэтому они наверняка поинтересуются, можем ли мы дать им полный список имен, фамилий и адресов электронной почты клиентов (если имеются) из базы данных. Как мы ответим на этот вопрос? Вернемся к пяти базовым моментам, которые следует учитывать при составлении запроса и о которых речь шла ранее в этой главе.
1. С какой базой данных мы работаем?
В этом случае мы будем работать только с одной базой данных. База данных sTunes уже должна быть открыта в DB Browser. Если вы после изучения главы 3 закрыли браузер, откройте снова его, а также файл базы данных sTunes.
2. Из какой таблицы в этой базе данных нам необходимо извлечь данные?
Нам необходимо получить информацию о клиентах. Просматривая вкладку Database Structure (Структура базы данных), мы видим, что у нас есть таблица с именем customers (клиенты). Это то, что нам нужно!
3. Какие поля в этой таблице нас интересуют?
Ответить на этот вопрос можно, заглянув во вкладку Browse Data (Просмотр данных). Щелкните на этой вкладке и в раскрывающемся меню выберите таблицу customers — таблица содержит поля для имени, фамилии и электронной почты.
4. Хотим ли мы исключить какие-либо данные, отфильтровать или исключить какой-либо диапазон или период времени?
В данном случае служба поддержки sTunes желает получить список всех клиентов, поэтому лучше ничего не исключать.
5. Как сформулировать наш запрос одним простым предложением на человеческом языке?
С помощью запроса нам необходимо осуществить выборку следующей информации из таблицы customers: имя, фамилия и адрес электронной почты.
Сначала добавьте блок комментариев, затем добавьте условие FROMcustomers. Оно определяет, в какой таблице искать данные. Далее перед условием FROM введите оператор SELECT и необходимые имена полей из таблицы customers. Имя каждого поля отделяется запятой. Полученный код будет выглядеть следующим образом:
/*
CREATED BY: Уолтер Шилдс
CREATED ON: 03/13/2018
DESCRIPTION: Данный запрос осуществляет выборку полей имени, фамилии, электронной почты из таблицы customers (клиентов).
*/
SELECT
FirstName,
LastName,
FROM
customers;
Запустите запрос на выполнение, щелкнув на кнопке воспроизведения Execute SQL (Выполнить SQL-запрос), расположенной на панели меню. Результаты запроса отобразятся ниже на панели результатов (рис. 35). Панель сообщений также показывает, что в результате выполнения запроса вернулось 59 строк (или записей) за 3 миллисекунды.
Рис. 35
Практические задания
• Добавьте в запрос еще одно поле из таблицы customers. В список рассылки добавьте поле Company или Phone. Не забудьте запятую!
Синтаксис и соглашение о кодировании