Читайте отдельное сообщение в блоге Виктора Штонда о новой книге по SQL:2011 — «SQL для чайников» (8-е издание) Эта книга предназначена для тех, кто хочет повысить свой уровень работы с базами данных с помощью языка структурированных запросов — SQL. Вы освоите основы реляционных баз данных и языка SQL, научитесь проектировать базы данных, заполнять их информацией и извлекать ее, используя расширенные возможности языка. Отдельные части книги посвящены вопросам защиты информации в базах данных и обработки ошибок. Язык SQL не прост, но как только вы приобретаете навыки работы с ним, вы сможете создавать реляционные базы данных и с легкостью извлекать из них ценную информацию.
Прочитав эту книгу Вы научитесь:
Основные темы этой книги:
Расскажи про книгу своим друзьям и коллегам: Твитнуть Нравится | Оглавление к книге SQL для чайников, 7-е изданиеОб авторахВведение Часть I. ОСНОВНЫЕ ПОНЯТИЯ Часть II. ИСПОЛЬЗОВАНИЕ SQL ДЛЯ СОЗДАНИЯ БАЗ ДАННЫХ Часть III. ХРАНЕНИЕ И ИЗВЛЕЧЕНИЕ ДАННЫХ Часть IV. ОПЕРАЦИИ УПРАВЛЕНИЯ Часть V. SQL НА ПРАКТИКЕ Часть VI. РАСШИРЕННЫЕ ВОЗМОЖНОСТИ Глава 18. Работа с наборами данных с помощью курсоров Глава 19. Возможности процедурного программирования Глава 20. Обработка ошибок Глава 21. Триггеры Часть VII. ВЕЛИКОЛЕПНЫЕ ДЕСЯТКИ Приложение. Зарезервированные слова SQL: |
Уроки по теме «SQL» для начинающих
В каталоге хекслета найдено 44 урока по теме «SQL». Уроки по теме «SQL» есть в курсах: Основы реляционных баз данных, Базы данных: SQL (DQL), Базы данных: SQL (DDL/DML).
Урок «Ограничения»
В курсе «Базы данных: SQL (DDL/DML)»
Научиться ставить ограничения на колонки (not null, unique, primary key).
Урок «Значения по умолчанию»
В курсе «Базы данных: SQL (DDL/DML)»
Научиться задавать значения по умолчанию для колонок в таблице.
Урок «Обновление данных»
В курсе «Базы данных: SQL (DDL/DML)»
Научиться изменять существующие данные в таблице.
Урок «Модификация таблиц»
В курсе «Базы данных: SQL (DDL/DML)»
Рассмотреть возможность изменения таблиц в базе данных — добавления, удаления и изменения колонок.
Урок «Создание базы данных»
В курсе «Базы данных: SQL (DDL/DML)»
Научиться создавать/удалять базу данных. Познакомиться с консольным клиентом psql.
Урок «Добавление записи»
В курсе «Базы данных: SQL (DDL/DML)»
Научиться добавлять/удалять и просматривать данные в таблицах.
Урок «Создание таблицы»
В курсе «Базы данных: SQL (DDL/DML)»
Изучить синтаксис создания таблиц. Познакомиться с основными типами данных.
Урок «Схема»
В курсе «Базы данных: SQL (DDL/DML)»
Познакомиться с понятием schemа в базе данных.
Урок «Представления»
В курсе «Базы данных: SQL (DDL/DML)»
Познакомиться с удобным инструментом современных баз данных — views.
Урок «Введение»
В курсе «Базы данных: SQL (DDL/DML)»
Познакомиться с курсом и с понятием баз данных и систем управления базой данных. Узнать об SQL и разных реляционных базах данных.
Урок «Объединения таблиц (Inner join)»
В курсе «Базы данных: SQL (DQL)»
Рассмотреть оператор join, в частности реализацию inner join.
Урок «Порядок вывода»
В курсе «Базы данных: SQL (DQL)»
Понять, каким образом контролируется порядок вывода
Урок «Ограничение выборки»
В курсе «Базы данных: SQL (DQL)»
Познакомиться с ключевым словом limit и научиться ограничивать количество выбираемых строк из БД.
Урок «Select»
В курсе «Базы данных: SQL (DQL)»
Познакомиться с командой Select в современных базах данных на примере PostgreSQL.
Урок «Where»
В курсе «Базы данных: SQL (DQL)»
Научиться получать данные, удовлетворяющие указанным требованиям.
Урок «Объединения таблиц (left join)»
В курсе «Базы данных: SQL (DQL)»
Изучить объединение left join.
Урок «Подзапросы»
В курсе «Базы данных: SQL (DQL)»
Научиться разбивать большие запросы на части с помощью подзапросов.
Урок «Where и like»
В курсе «Базы данных: SQL (DQL)»
Изучить оператор like, позволяющий искать данные по частичному соответствию.
Урок «Выборка уникальных записей»
В курсе «Базы данных: SQL (DQL)»
Научиться делать выборку только уникальных значений и комбинаций.
Урок «Группировка»
В курсе «Базы данных: SQL (DQL)»
Научиться работать с группировкой и агрегатными функциями.
Урок «Функции»
В курсе «Основы реляционных баз данных»
Научиться пользоваться агрегатными функциями для расчетов
Урок «Третья нормальная форма»
В курсе «Основы реляционных баз данных»
Разобраться с третьей нормальной формой
Урок «Автоинкремент»
В курсе «Основы реляционных баз данных»
Научиться генерировать ключи автоматически
Урок «Подготовка к работе»
В курсе «Основы реляционных баз данных»
Создать пользователя и базу данных
Урок «Транзакционность»
В курсе «Основы реляционных баз данных»
Научиться выполнять запросы внутри транзакции, разобраться с ACID
Урок «Лимит (LIMIT)»
В курсе «Основы реляционных баз данных»
Научиться ограничивать выборку
Нашли 3 курса по тегу «SQL»
Основы реляционных баз данных
postgresql
транзакции
нормальные формы
27 часов
Посмотреть
Базы данных: SQL (DQL)
distinct
группировка
соединения
14 часов
Посмотреть
Базы данных: SQL (DDL/DML)
ограничения
представления
дефолты
13 часов
Посмотреть
Вам могут быть интересны темы: ограничения схема представления дефолты like distinct группировка соединения подзапросы postgresql транзакции нормальные формы СУБД
SQL ORDER BY
Сводка : В этом руководстве показано, как использовать предложение SQL ORDER BY
для сортировки набора результатов на основе заданных критериев в порядке возрастания или убывания.
Введение в SQL
Предложение ORDER BY
ORDER BY
является необязательным предложением оператора SELECT
. Предложение ORDER BY
позволяет сортировать строки, возвращаемые предложением SELECT
, с помощью одного или нескольких выражений сортировки в порядке возрастания или убывания.
Ниже показан синтаксис предложения ORDER BY
:
Язык кода: SQL (язык структурированных запросов) (sql)
SELECT select_list ИЗ имя_таблицы СОРТИРОВАТЬ ПО sort_expression [ASC | ПОИСК];
В этом синтаксисе:
- Сначала поместите предложение
ORDER BY
после предложенияFROM
. База данных будет оценивать операторSELECT
с предложениемORDER BY
* в следующем порядке:ИЗ
>ВЫБЕРИТЕ
>ЗАКАЗАТЬ ПО
. - Во-вторых, укажите выражение сортировки после предложения
ORDER BY
. Выражение сортировки определяет критерии сортировки. - В-третьих, используйте параметр
ASC
для сортировки набора результатов по выражению сортировки в порядке возрастания иDESC
для сортировки набора результатов по выражению сортировки в порядке убывания.
Обратите внимание, что в предложении ORDER BY
используется ASC
по умолчанию, если вы не используете ASC
или DESC
.
Предложение ORDER BY
также позволяет сортировать набор результатов по нескольким выражениям. В этом случае вам нужно использовать запятую для разделения двух выражений сортировки:
Кодовый язык: CSS (css)
SELECT select_list ИЗ имя_таблицы СОРТИРОВАТЬ ПО sort_expression_1 [ASC | DESC], sort_expression_2 [ASC | ПОИСК];
В этом синтаксисе 9Предложение 0005 ORDER BY сначала сортирует набор результатов по sort_expression_1
, а затем сортирует отсортированный набор результатов по sort_expression_2
.
Обратите внимание: если вы не укажете предложение ORDER BY
, оператор SELECT
не будет сортировать результирующий набор. Это означает, что строки в результирующем наборе не имеют определенного порядка.
SQL
Примеры предложения ORDER BY
Для демонстрации мы будем использовать таблицу сотрудников
в образце базы данных.
1) Использование предложения SQL
ORDER BY
для сортировки значений в одном столбце пример Следующий оператор SELECT
возвращает данные из столбца идентификатора сотрудника, имени, фамилии, даты приема на работу и заработной платы сотрудников. Таблица
:
Язык кода: SQL (язык структурированных запросов) (sql)
ВЫБЕРИТЕ идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники;
Попробуйте
+-------------+-------------+-------------+----- -------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 100 | Стивен | король | 1987-06-17 | 24000,00 | | 101 | Нина | Кочхар | 1989-09-21 | 17000,00 | | 102 | Лекс | Де Хаан | 13 января 1993 г. | 17000,00 | | 103 | Александр | Хунольд | 1990-01-03 | 9000,00 | | 104 | Брюс | Эрнст | 1991-05-21 | 6000,00 | | 105 | Дэвид | Остин | 1997-06-25 | 4800,00 | | 106 | Валли | Патабалла | 1998-02-05 | 4800,00 | | 107 | Диана | Лоренц | 1999-02-07 | 4200,00 | | 108 | Нэнси | Гринберг | 17 августа 1994 г. | 12000,00 | | 109 | Даниэль | Фавиет | 1994-08-16 | 9000,00 | | 110 | Джон | Чен | 1997-09-28 | 8200,00 | ...
Как видно из вывода, строки не имеют никакого порядка.
В следующем примере используется предложение ORDER BY для сортировки сотрудников по именам в алфавитном порядке:
Язык кода: SQL (язык структурированных запросов) (sql)
SELECT идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники СОРТИРОВАТЬ ПО имя;
Попробуйте
+-------------+------------ --+-------------+------------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 121 | Адам | Фрипп | 1997-04-10 | 8200,00 | | 115 | Александр | Кху | 18 мая 1995 г. | 3100,00 | | 103 | Александр | Хунольд | 1990-01-03 | 9000,00 | | 193 | Бритни | Эверетт | 1997-03-03 | 3900,00 | | 104 | Брюс | Эрнст | 1991-05-21 | 6000,00 | | 179 | Чарльз | Джонсон | 04.01.2000 | 6200.00 | | 109 | Даниэль | Фавиет | 1994-08-16 | 9000,00 | | 105 | Дэвид | Остин | 1997-06-25 | 4800,00 | | 114 | Ден | Рафаэли | 1994-12-07 | 11000,00 | | 107 | Диана | Лоренц | 1999-02-07 | 4200,00 | ...
ORDER BY
сортирует строки по значениям в столбце first_name
.
2) Использование предложения SQL
ORDER BY
для сортировки значений в нескольких столбцах примерВ следующем примере предложение ORDER BY используется для сортировки сотрудников по имени в порядке возрастания и фамилии в порядке убывания:
Язык кода: SQL (язык структурированных запросов) (sql)
ВЫБЕРИТЕ идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники СОРТИРОВАТЬ ПО имя, фамилия DESC;
Попробуйте
+-------------+------------ --+-------------+------------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 121 | Адам | Фрипп | 10 апреля 1997 г. | 8200,00 | | 115 | Александр | Кху | 18 мая 1995 г. | 3100,00 | | 103 | Александр | Хунольд | 1990-01-03 | 9000,00 | | 193 | Бритни | Эверетт | 1997-03-03 | 3900,00 | | 104 | Брюс | Эрнст | 1991-05-21 | 6000,00 | | 179 | Чарльз | Джонсон | 04.01.2000 | 6200.00 | | 109 | Даниэль | Фавиет | 1994-08-16 | 9000,00 | | 105 | Дэвид | Остин | 1997-06-25 | 4800,00 | | 114 | Ден | Рафаэли | 1994-12-07 | 11000,00 | | 107 | Диана | Лоренц | 1999-02-07 | 4200,00 | | 118 | Парень | Химуро | 1998-11-15 | 2600,00 | ...
В этом примере предложение ORDER BY сортирует набор результатов по имени в порядке возрастания, а затем сортирует набор результатов по фамилии в порядке убывания.
Обратите внимание на изменение должности двух сотрудников: Александр Хуно
и Александр Хунольд
в результирующем наборе.
3) Использование предложения SQL
ORDER BY
для сортировки значений в числовом столбце примерВ следующем примере предложение ORDER BY используется для сортировки сотрудников по зарплате от большего к меньшему:
Язык кода: SQL (язык структурированных запросов) (sql)
ВЫБОР идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники СОРТИРОВАТЬ ПО заработная плата DESC;
Попробуйте
+-------------+------------ --+-------------+------------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 100 | Стивен | король | 1987-06-17 | 24000,00 | | 101 | Нина | Кочхар | 1989-09-21 | 17000,00 | | 102 | Лекс | Де Хаан | 13 января 1993 г. | 17000,00 | | 145 | Джон | Рассел | 1996-10-01 | 14000,00 | | 146 | Карен | Партнеры | 1997-01-05 | 13500,00 | | 201 | Майкл | Хартштейн | 17 февраля 1996 г. | 13000,00 | | 205 | Шелли | Хиггинс | 1994-06-07 | 12000,00 | | 108 | Нэнси | Гринберг | 17 августа 1994 г. | 12000,00 | | 114 | Ден | Рафаэли | 1994-12-07 | 11000,00 | ...
4) Использование SQL
ORDER BY
для сортировки по дате пример Помимо символьных и числовых данных, вы можете использовать предложение ORDER BY для сортировки строк по дате. Например, в следующем операторе используется предложение ORDER BY для сортировки сотрудников по значениям в столбце Hire_Date
из:
Язык кода: SQL (язык структурированных запросов) (sql)
SELECT идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники СОРТИРОВАТЬ ПО Дата приема на работу;
Попробуйте
+--------------+-------------- +-------------+-------------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 100 | Стивен | король | 1987-06-17 | 24000,00 | | 200 | Дженнифер | Уэлен | 17 сентября 1987 г. | 4400,00 | | 101 | Нина | Кочхар | 1989-09-21 | 17000,00 | | 103 | Александр | Хунольд | 1990-01-03 | 9000,00 | | 104 | Брюс | Эрнст | 1991-05-21 | 6000,00 | | 102 | Лекс | Де Хаан | 13 января 1993 г. | 17000,00 | | 203 | Сьюзан | Маврис | 1994-06-07 | 6500.00 | | 204 | Герман | Бэр | 1994-06-07 | 10000,00 | ...
Чтобы увидеть сотрудников, присоединившихся к компании от самого последнего к самому раннему, вы сортируете сотрудников по датам найма в порядке убывания:
Язык кода: SQL (язык структурированных запросов) (sql)
ВЫБЕРИТЕ идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники СОРТИРОВАТЬ ПО найм_дата DESC;
Попробуйте
+-------------+------------ --+-------------+------------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 179 | Чарльз | Джонсон | 04. 01.2000 | 6200.00 | | 113 | Луис | Попп | 1999-12-07 | 6900,00 | | 119 | Карен | Кольменарес | 10 августа 1999 г. | 2500.00 | | 178 | Кимберели | Грант | 1999-05-24 | 7000,00 | | 107 | Диана | Лоренц | 1999-02-07 | 4200,00 | | 118 | Парень | Химуро | 15 ноября 1998 г. | 2600,00 | | 126 | Ирэн | Миккилинень | 1998-09-28 | 2700,00 | | 177 | Джек | Ливингстон | 1998-04-23 | 8400,00 | | 176 | Джонатон | Тейлор | 1998-03-24 | 8600,00 | ...
Сводка
- Используйте предложение
ORDER BY
для сортировки строк, возвращаемых предложениемSELECT
. - Используйте параметр
ASC
для сортировки строк по возрастанию и параметрDESC
для сортировки строк по убыванию.
Было ли это руководство полезным?
SQLBolt — Изучение SQL — Введение в SQL
Добро пожаловать в SQLBolt, серию интерактивных уроков и упражнений, разработанных, чтобы помочь вам быстро изучайте SQL прямо в браузере.
SQL, или язык структурированных запросов, — это язык, разработанный для обеспечения как технических, так и нетехнических пользователи запрашивают, обрабатывают и преобразовывают данные из реляционной базы данных. И благодаря своей простоте, Базы данных SQL обеспечивают безопасное и масштабируемое хранилище для миллионов веб-сайтов и мобильных приложений.
Знаете ли вы?
Существует множество популярных баз данных SQL, включая SQLite, MySQL, Postgres, Oracle и Microsoft. SQL-сервер. Все они поддерживают общий стандарт языка SQL, о чем и говорится на этом сайте. будет обучающим, но каждая реализация может отличаться дополнительными функциями и хранилищем типы, которые он поддерживает.
Перед изучением синтаксиса SQL важно иметь представление о том, что на самом деле представляет собой реляционная база данных. является. Реляционная база данных представляет собой набор связанных (двумерных) таблиц. Каждый из таблицы похожи на электронную таблицу Excel с фиксированным количеством именованных столбцов (атрибуты или свойства таблицы) и любое количество строк данных.
Например, если у Департамента транспортных средств есть база данных, вы можете найти таблицу, содержащую все известные транспортные средства, на которых ездят люди в штате. Эта таблица может потребоваться для хранения Например, название модели, тип, количество колес и количество дверей каждого автомобиля.
Таблица: Транспортные средства
Идентификатор | Марка/модель | # Колеса | # Двери | Тип |
1 | Форд Фокус | 4 | 4 | Седан |
2 | Родстер Тесла | 4 | 2 | Спорт |
3 | Ниндзя Кавакаси | 2 | 0 | Мотоцикл |
4 | Макларен Формула-1 | 4 | 0 | Гонка |
5 | Тесла С | 4 | 4 | Седан |
В такой базе данных вы можете найти дополнительные связанные таблицы, содержащие такую информацию, как список всех зарегистрированных водителей в штате, типы водительских прав, которые могут быть предоставлены, или даже нарушения правил вождения для каждого водителя.