Применение языка SQL в MS Access

 

Язык SQL – Structured Query Language используется в отличии от других языков программирования исключительно в задачах управления БД. С помощью SQL можно заставить программу выполнять на сетевом сервере.

 

Использование выражения SELECT

Команда SELECT состоит из служебного слова за которым следует список необходимых полей и выражение FROM, имя таблицы.

SELECT и FROM служебные слова SQL:

SELECT – название командные.

FROM – предложение, представляющее источник данных.

Список полей – параметры конструкций.

В качестве параметра списка полей допускает «*».

Например, чтобы получить полное содержание таблицы:

SELECT *FROM имя таблицы.

Порядок выполнение запроса на SQL:

1. Открыть БД.

2. В окне выбрать запросы.

3. Создать конструктор.

4. Добавить таблицу.

5. Вид/Режим SQL.

Фильтрация данных

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

Конструкции SELECT предложение WHERE занимает место после FROM.

Синтаксис:

SELECT _ список полей _ FROM _ список полей _ WHERE _ имя поля _ оператор _ значение (Or/And). За служебным словом WHERE следует набор предикатов в формате имя поля _ оператор _ значение. Количество предикатов неограниченно.

В качестве аргумента оператора используется любой из обычных операторов аргумента.

Значения – величина соответствующего типа (символьные литералы; слова, которые помечаются в кавычки).

Предикату может предшествовать служебное слово NOT, обозначающее унарный оператор отношения. Предикаты склеиваются с помощью операций конъюнкций (+), дизъюнкции Or.

Операторы применяющиеся в предложении WHERE:

1) Оператор BEETWEN сопровождается сл. сл. And использующий в контексте предложения WHERE для задания границ интервала, величины аргумента.

SELECT*FROM _ Music _ WHERE _ Artist BETWEEN ‘Elvis’ AND ‘Rolling Stones’.

В этом примере команда SELECT возвратит набор данных, содержащих сведения об альбомах исполнителей, имена которых содержат сведения об альбомах исполнителей и попадают в интервал от P до R.

2) Оператор IN. Он позволяет задавать искомые значения в полях таблиц. Синтаксис конструкций IN в контексте команды SELECT имеет вид: SELECT _ список полей _ FROM _ имя таблицы. WHERE _ имя поля _ IN _(значение 1, значение 2, …)

Например:

SELECT*FROM _ Music _ WHERE _ Publisher ‘Polygram’ ’Elektra’ ‘Capitol’

Указанная команда SELECT вернёт все строки данных, которые имеют отношения к звукозаписям, выпущенным компанией «Polygram», «Elektra», «Capitol».

Логические операторы конъюнкции (AND) и дизъюнкции (OR) требует наличие двух операторов. Оператор NOT – унарный оператор. Предложение WHERE может содержать любое число предикатов, соединяющих вместе логическими операторами сгруппированных с помощью круглых скобок.

SELECT*FROM Music WHERE _ Publisher =‘Capitol’ AND LastName = _ ‘Cocker’ OR LastName = ‘Merchat’.

 

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

Сортировка данных конструкции выражения SELECT позволяет упорядочить возвращённые наборы данных по возрастанию или убыванию значений полей.

Этой цели служит приложение ORDER BY. После которого указывается одно или несколько выражений вида: имя поля _ [Порядок сортировки, раздел. запятой]. Аргументы имя поля указывают на поля таблиц перечисленные в предложении FROM. В качестве необез. параметра – порядок – порядок сортировки допустимо использовать сл. сл. ASC и DESC возвращает по возрастанию и убыванию соответственно.

SELECT*FROM _ Music _ ORDER BY Artist DESC, Title Asc

 

Группировка столбцов

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

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

 

Использование предложения HAVING

Предложение HAVING подобно WHERE помогает ограничить объем множества данных, получаемых в результате выполнения SELECT.

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, выполняющей преобразование числа значения DATE TIME.

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

 

Объединение таблиц

Реляционная БД предполагает наличие механизма объединения хранящихся в нескольких таблицах. Процесс и результат сбора данных об определенном объекте, которые хранятся в нескольких таблицах – объединение таблиц.

INNER JOIN – позволяет возвратить все записи для которых выполняется условие равенство, содержимого столбцов 2-х объединяемых таблиц.

Пример:

SELECT *

FROM MUSIC INNER JOIN TRACKS ON_MUSIC. ID, TRACKS. MUSIC_ID

Эта конструкция возвратит все записи таблиц MUSIC и TRACKS для которых MUSIC и TRACKS равны.

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

RIGHT JOIN – противоположно по значению оператора LEFT JOIN. При использовании этого оператора, возвращ. набор данных будет содержать

Практическое применение:

1. Оператор BEETWEN сопровождается сл. сл. And использующий в контексте предложения WHERE для задания границ интервала, величины аргумента.

 

 

2. Оператор IN. Он позволяет задавать искомые значения в полях таблиц.

 

 

3. Сортировка данных конструкции выражения SELECT позволяет упорядочить возвращённые наборы данных по возрастанию или убыванию значений полей.


 

4. Логические операторы конъюнкции (AND) и дизъюнкции (OR).

 

 


 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: