Курсовая работа: Проектирование базы данных и систем управления базой данных в среде Microsoft Access
HAVING позволяет включать любое число предикатов, объединенных посредством булевых логических операторов.
Листинг 1:
Демонстрирует пример использования HAVING и применение вложенного запроса.
1: SELECT * FROM Music WHERE ID =
2: SELECT Music_ID FROM TRACKS
3: GROUP BY Music_ID
4: Having CDATE (SUM (Track_Length))>CDATE (“0:6:0”)
Строка 1 содержит заголовок внешнего запроса.
В строках 2,3,4 расположен текст подчиненного запроса. Подзапрос группирует записи таблицы TRACKS в соответствии с полями MUSIC_ID.
Предложение HAVING осуществляет сравнение суммы, продолжительность звучания всех композиций данного альбома. С константой равной 6 мин.
В результате выполнения всего запроса будут возвращен набор записей таблицы. MUSIC для каждой из которых существует внешний ключ из таблицы Tracks и удовлетворяется условие подчиненного запроса.
В строке 4 демонстрируется пример употребления встроенной SQL функции CDATE, выполняющей преобразование числа значения DATETIME.
В нашем случае с помощью CDATE осуществляется сопоставление функции внешних интервалов длительности звучания, выраженных в секундах.
3.3.6 Объединение таблиц
Реляционная БД предполагает наличие механизма объединения хранящихся в нескольких таблицах. Процесс и результат сбора данных об определенном объекте, которые хранятся в нескольких таблицах – объединение таблиц.
INNERJOIN – позволяет возвратить все записи для которых выполняется условие равенство, содержимого столбцов 2-х объединяемых таблиц.
Пример:
SELECT *
FROM MUSIC INNER JOIN TRACKS ON_MUSIC. ID, TRACKS. MUSIC_ID
Эта конструкция возвратит все записи таблиц MUSIC и TRACKS для которых MUSIC и TRACKS равны.
LEFTJOIN – Применяется в случаях, когда следует вернуть все записи левой таблицы, и только те строки правой, значения полей которой соотв. данным левой таблицы.
RIGHTJOIN – противоположно по значению оператора LEFTJOIN. При использовании этого оператора, возвращ. набор данных будет содержать
Практическое применение:
1. Оператор BEETWEN сопровождается сл. сл. And использующий в контексте предложения WHERE для задания границ интервала, величины аргумента.
2. Оператор IN. Он позволяет задавать искомые значения в полях таблиц.
3. Сортировка данных конструкции выражения SELECT позволяет упорядочить возвращённые наборы данных по возрастанию или убыванию значений полей.