Sql

Sql самоучитель для начинающих: SQL учебник для чайников с нуля

SQL для чайников, 7-е издание


Читайте отдельное сообщение в блоге Виктора Штонда о новой книге по SQL:2011 — «SQL для чайников» (8-е издание)

Эта книга предназначена для тех, кто хочет повысить свой уровень работы с базами данных с помощью языка структурированных запросов — SQL. Вы освоите основы реляционных баз данных и языка SQL, научитесь проектировать базы данных, заполнять их информацией и извлекать ее, используя расширенные возможности языка. Отдельные части книги посвящены вопросам защиты информации в базах данных и обработки ошибок.
Даже если вам никогда не приходилось ранее разрабатывать системы хранения данных, эта книга поможет при работе с информацией использовать самые современные технологии.

Язык SQL не прост, но как только вы приобретаете навыки работы с ним, вы сможете создавать реляционные базы данных и с легкостью извлекать из них ценную информацию.

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

  • Начинаем с основ СУБД. Что такое реляционная база данных и что определяет успех проекта.
  • Раскрываем тайны SQL. Краткий обзор основных принципов SQL и построения баз данных.
  • Ввод и вывод данных. Узнайте, как добавлять, возвращать, отображать, удалять и изменять данные в базе данных.
  • Что такое запрос. Узнайте, как находить необходимые данные, используя различные запросы.
  • Защита информации. Защитите свои данные от кражи, случайного или злонамеренного повреждения, а также потери в связи с отказом оборудования.
  • Применение SQL для настройки. Используйте открытый интерфейс доступа к базам данных (ODBC) для решения проблем объединения SQL с другими языками.
  • XML — ваш друг. Взаимодействие с другими приложениями с помощью XML и SQL.
  • Устранение ошибок. Узнайте, что SQL пытается сообщить вам, когда что-то идет не так.

Прочитав эту книгу Вы научитесь:

  •  создавать реляционные базы данных с повышенной способностью поиска данных
  •  использовать SQL совместно с XML и Access® 2010
  •  создавать структуру и реализовывать проект базы данных
  •  работать со всеми основными средствами SQL

Основные темы этой книги:

  • советы по проектированию баз данных
  • чем система управления базами данных отличается от базы данных
  • что может и что не может SQL
  • различные типы данных
  • десять наиболее распространенных проблем баз данных
  • как использовать значения, выражения со значением и операторы сравнения
  • советы по использованию данных XML в SQL
  • распространенные угрозы вашим данным


Об авторе
Аллен Г. Тейлор — известный лектор и педагог в области разработки базы данных. Ветеран компьютерной индустрии с 30-летним стажем, автор больше чем 20 книг. Используя магию Интернет, Аллен преподает архитектуру вычислительных систем в Портлендском государственном университете и в Шанхае.


Расскажи про книгу своим друзьям и коллегам:

Твитнуть


Нравится

Оглавление к книге SQL для чайников, 7-е издание

Об авторах
Введение

Часть I. ОСНОВНЫЕ ПОНЯТИЯ
    Глава 1. Основы реляционных баз данных
    Глава 2. Основы SQL
    Глава 3. Компоненты SQL

Часть II. ИСПОЛЬЗОВАНИЕ SQL ДЛЯ СОЗДАНИЯ БАЗ ДАННЫХ
    Глава 4. Создание и обслуживание простой базы данных

    Глава 5. Создание многотабличной реляционной базы данных

Часть III. ХРАНЕНИЕ И ИЗВЛЕЧЕНИЕ ДАННЫХ
    Глава 6. Манипуляция данными из базы
    Глава 7. Определение значений
    Глава 8. Сложные выражения со значением
    Глава 9. «Пристрелка» к нужным данным
    Глава 10. Реляционные операторы
    Глава 11. Использование вложенных запросов
    Глава 12. Рекурсивные запросы

Часть IV. ОПЕРАЦИИ УПРАВЛЕНИЯ
    Глава 13. Обеспечение безопасности базы данных
    Глава 14. Защита данных
    Глава 15. Использование SQL в приложениях

Часть V. SQL НА ПРАКТИКЕ
    Глава 16. Доступ к данным с помощью ODBC и JDBC
    Глава 17. Работа с данными XML

Часть VI. РАСШИРЕННЫЕ ВОЗМОЖНОСТИ


    Глава 18. Работа с наборами данных с помощью курсоров
    Глава 19. Возможности процедурного программирования
    Глава 20. Обработка ошибок
    Глава 21. Триггеры

Часть VII. ВЕЛИКОЛЕПНЫЕ ДЕСЯТКИ
    Глава 22. Десять самых распространенных ошибок
    Глава 23. Десять советов по извлечению данных

Приложение. Зарезервированные слова 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 :

 

SELECT select_list ИЗ имя_таблицы СОРТИРОВАТЬ ПО sort_expression [ASC | ПОИСК];

Язык кода: SQL (язык структурированных запросов) (sql)

В этом синтаксисе:

  • Сначала поместите предложение ORDER BY после предложения FROM . База данных будет оценивать оператор SELECT с предложением ORDER BY * в следующем порядке: ИЗ > ВЫБЕРИТЕ > ЗАКАЗАТЬ ПО .
  • Во-вторых, укажите выражение сортировки после предложения ORDER BY . Выражение сортировки определяет критерии сортировки.
  • В-третьих, используйте параметр ASC для сортировки набора результатов по выражению сортировки в порядке возрастания и DESC для сортировки набора результатов по выражению сортировки в порядке убывания.

Обратите внимание, что в предложении ORDER BY используется ASC по умолчанию, если вы не используете ASC или DESC .

Предложение ORDER BY также позволяет сортировать набор результатов по нескольким выражениям. В этом случае вам нужно использовать запятую для разделения двух выражений сортировки:

 

SELECT select_list ИЗ имя_таблицы СОРТИРОВАТЬ ПО sort_expression_1 [ASC | DESC], sort_expression_2 [ASC | ПОИСК];

Кодовый язык: CSS (css)

В этом синтаксисе 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 для сортировки сотрудников по именам в алфавитном порядке:

 

SELECT идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники СОРТИРОВАТЬ ПО имя;

Язык кода: SQL (язык структурированных запросов) (sql)

Попробуйте

 

+-------------+------------ --+-------------+------------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 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 используется для сортировки сотрудников по имени в порядке возрастания и фамилии в порядке убывания:

 

ВЫБЕРИТЕ идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники СОРТИРОВАТЬ ПО имя, фамилия DESC;

Язык кода: SQL (язык структурированных запросов) (sql)

Попробуйте

 

+-------------+------------ --+-------------+------------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 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 используется для сортировки сотрудников по зарплате от большего к меньшему:

 

ВЫБОР идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники СОРТИРОВАТЬ ПО заработная плата DESC;

Язык кода: SQL (язык структурированных запросов) (sql)

Попробуйте

 

+-------------+------------ --+-------------+------------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 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 из:

 

SELECT идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники СОРТИРОВАТЬ ПО Дата приема на работу;

Язык кода: SQL (язык структурированных запросов) (sql)

Попробуйте

 

+--------------+-------------- +-------------+-------------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 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 | ...

Чтобы увидеть сотрудников, присоединившихся к компании от самого последнего к самому раннему, вы сортируете сотрудников по датам найма в порядке убывания:

 

ВЫБЕРИТЕ идентификатор_сотрудника, имя, фамилия, Дата приема на работу, оплата труда ИЗ сотрудники СОРТИРОВАТЬ ПО найм_дата DESC;

Язык кода: SQL (язык структурированных запросов) (sql)

Попробуйте

 

+-------------+------------ --+-------------+------------+----------+ | идентификатор_сотрудника | имя_имя | фамилия | наем_дата | зарплата | +-------------+-------------+--------------+------- -----+----------+ | 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 Седан

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *