Выборка из нескольких таблиц 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Выборка из нескольких таблиц



 

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

Для выполнения операции такого рода в операторе SELECT после ключевого слова FROM указывается список таблиц, по которым производится поиск данных. После ключевого слова WHERE указывается условие, по которому производится слияние.

Следует обратить внимание на то, что когда в разных таблицах присутствуют одноименные поля, то для устранения неоднозначности перед именем поля указывается имя таблицы и знак "." (точка). (Хорошее правило: имя таблицы указывать всегда!)

 

Замечание:

Естественно, имеется возможность производить слияние и более чем двух таблиц.

 

Вопросы для самоконтроля:

  1. Приведите общий синтаксис SQL-оператора SELECT.
  2. Для чего используются ключевые слова ALL и DISTINCT?
  3. Для чего используется ключевое слово FROM?
  4. Для чего используются ключевое слово WHERE?
  5. Как произвести выборку данных из нескольких связанных таблиц?

Лекция 18. Сортировка и группировка данных при помощи языка SQL

План:

  1. Группировка данных
  2. Сортировка данных

 

Группировка данных

 

Группировка данных в операторе SELECT осуществляется с помощью ключевого слова GROUP BY и ключевого слова HAVING, с помощью которого задаются условия разбиения записей на группы.

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

Kлючевое слово HAVING работает следующим образом: сначала GROUP BY разбивает строки на группы, затем на полученные наборы накладываются условия HAVING.

 

Сортировка данных

 

Для сортировки данных, получаемых при помощи оператора SELECT служит ключевое слово ORDER BY. С его помощью можно сортировать результаты по любому столбцу или выражению, указанному в <списке_выбора>. Данные могут быть упорядочены как по возрастанию, так и по убыванию.

Ключевое слово DESC задает обратный порядок сортировки, ключевое слов ASC (его можно опускать) - прямой порядок сортировки.

 

Вопросы для самоконтроля:

  1. С помощью какого ключевого слова осуществляется группировка данных в операторе SELECT?
  2. Для чего используется ключевое слово HAVING?
  3. С помощью какого ключевого слова осуществляется сортировка данных в операторе SELECT?
  4. Как отсортировать данные по возрастанию (убыванию)?

Лекция 19. Функции в запросах SQL

План:

  1. Агрегатные функции
  2. Преобразование текста
  3. Работа со строками

 

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

В арифметических выражениях допускаются операции сложения (+), вычитания (-), деления (/), умножения (*), а также различные функции (COS, SIN, ABS - абсолютное значение и т.д.).

 

Агрегатные функции

 

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

  • AVG(<имя поля>) - среднее по всем значениям данного поля
  • COUNT(<имя поля>) или COUNT (*) - число записей
  • MAX(<имя поля>) - максимальное из всех значений данного поля
  • MIN(<имя поля>) - минимальное из всех значений данного поля
  • SUM(<имя поля>) - сумма всех значений данного поля

Следует учитывать, что каждая агрегирующая функция возвращает единственноезначение.

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

 

Преобразование текста

 

Часто, текстовые значения заполняются пользователями программного обеспечения по-разному: кто пишет Ф.И.О. с заглавной буквы, кто нет; кто-то пишет все заглавными буквами. Многие отчетные формы требуют унифицированного подхода, да и не только отчетные формы. Для решения этой задачи в SQL есть две функции UCASE - преобразует символы строки в верхний регистр и LCASE - преобразует символы строки в нижний регистр.

 

Работа со строками

 

MID(<text>, <start_num>, <num_chars>)- возвращает строку символов из середины текстовой строки с учетом начальной позиции и длины, где text - текстовая строка, из которой нужно извлечь символы, или столбец, содержащий текст; start_num - положение первого символа, который необходимо извлечь (начинаются с 1); num_chars - число возвращаемых символов.

Иногда приходится в качестве аргументов функции MID использовать выражения с функцией LEN:

LEN(column_name)- возвращает длину значения в поле записи.

Функция LEN() исключает из подсчета конечные пробелы.

 

Вопросы для самоконтроля:

  1. Какие операции и функции можно выполнять над данными в SQL?
  2. Что такое агрегатные функции? Какие функции входят в эту группу?
  3. Какие функции для работы со строками в SQL вам известны?

Литература

Основная литература

  1. Основы проектирования баз данных: Учебное пособие / О. Л. Голицына, Т. Л. Партыка, И. И. Попов. - 2-е изд., перераб. и доп.. - М.: Форум, 2012. - 416 с
  2. Основы проектирования баз данных: Учебное пособие для студ. учреждений сред. проф. образования / Г. Н. Федорова. - 2-е изд., стер.- М.: Издательский центр "Академия", 2016. - 224 с
    Дополнительная литература:
  1. Информатика, автоматизированные информационные технологии и системы: учебник / В.А. Гвоздева. - М.: ИД "Форум": ИНФРА-М, 2014. - 544 с.

Интернет-ресурсы:



Поделиться:


Последнее изменение этой страницы: 2021-02-07; просмотров: 223; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.32.230 (0.005 с.)