Урок 2: Изучаем SQL команду SELECT
База данных Голоса. Изучаем SQL команду SELECT.
В предыдущем уроке (Изучаем SQL на примере golos.cloud. Введение, настройка и первый запрос) мы настроили клиент для подключения к базе данных голоса (golos.cloud) и выполнили свой первый запрос.
Продолжим обзор SQL базы данных голоса.
Инструкция SELECT
Запрос SELECT позволяет находить в базе данных записи.
Запись (или строка) - это основная единица информации после таблицы.
В реляционных БД при создании таблиц мы задаем их структуру.
Все строки в одной таблице соответствуют ее структуре - проще говоря у всех строк в одной и той же таблице одинаковое количество столбцов и соответственно у одной записи - одинаковое количество полей.
В поле не обязательно должны быть данные, можно задать значение NULL - что означает отсутствие данных в поле (то есть не 0 и не пустая строка, а именно отсутствие).
Когда мы выполняем запрос SELECT мы указываем те поля, которые нас интересуют:
SELECT поля, через, запятую FROM имя_таблицы WHERE условие
О запросе SELECT мы будем говорить несколько уроков, так как он весьма разнообразный, например можно объединять и склеивать записи нескольких таблиц в новые таблицы, а также делать выборку обходом другого запроса SELECT как в цикле (комамндой IN).
Сегодня изучим простые запросы. Для начала думаю поговорить об аккаунтах пользователей и начнем с такого запроса:
SELECT * FROM dbo.Accounts WHERE name='rusldv';
Здесь между SELECT и FROM мы указали * - что означает выбрать все поля. Однако мы можем вручную указать нужные нам поля зная их названия:
SELECT id, post_count, balance, sbd_balance FROM dbo.Accounts WHERE name='rusldv';
Таким образом мы получим более лаконичный результат:
Как видно данные в базе достаточно актуальные и вполне их можно использовать.
Еще здесь может показаться интересной таблица Comments
Здесь мы вводим практически такой же запрос как и предыдущий:
SELECT * FROM dbo.Comments WHERE author='rusldv';
Однако результат (пл крайней мере для моего аккаунта) вернул все 190 постов (точнее в терминологии Голоса - комментариев).
Ну так и не удивительно. Ведь данные о нас одни, а комментариев у нас может быть много.
Да кстати результат (выбранные строки) отсортированы по порядку от самого старого поста до самого нового.
Чтобы посмотреть первыми самые новые наши комментарии - добавим к запросу условие сортировки:
SELECT * FROM dbo.Comments WHERE author='rusldv' ORDER BY created DESC;