вторник, 24 сентября 2013 г.

MS Access SQL Examples


Запросы на выборку из таблицы
Самыми распространенными и простыми запросами SQL в базе данных являются запросы на выборку. Отличают их по ключевому слову SELECT[1]. Эти запросы применяют тогда, когда необходимо отобрать часть записей из одной или нескольких таблиц. Наиболее часто запросы применяют в формах, списках и модулях. 
Вот несколько примеров на данную тему:

1. Форма. Me.RecordSource = "SELECT * FROM [Данные]" (явное указание запроса)
2. Список. Me.ПолеСоСписком1.RowSource = запросSQL (запрос считывается из базы данных).
3. Модуль. Set rst = dbs.OpenRecordset(strSQL) (запрос берется из текстовой переменной, где strSQL="SELECT * FROM [Пример 05]")


Ниже приводятся запросы на выборку для одной таблицы. Естественно, что эти примеры лучше изучать на практике. Для этого скачайте программу: la_query.mdb. Запустите пример 1 и, изменяя содержание запроса, например, добавляя ключевые слова, Вы будете видеть результат в списке формы. Если запрос будет неправильным, то список будет пустой. А теперь изучите запросы.

Примеры  SQL - запросов:


Запрос с Excel для вставки в Access

SELECT *
FROM [Excel 8.0;DATABASE=C:\2.xls].[Лист1$B14:I190];
Выборка без указания таблиц
Код:
SELECT "Ура!", "Вперед!" as Лозунг

Выборка всех записей из таблицы
Код:
SELECT * FROM [Данные]

Выборка всех записей из колонки
Код:
SELECT ALL [Книга] FROM [Данные]

Выборка 1 поля с указанием источника
Код:
SELECT [T5].КурсUSD From [Данные] AS [T5];

Выборка с условием для разных полей
Код:
SELECT * FROM [Данные] WHERE [Дата]=#11/15/2000# and ([Книга]='Война и Мир') and ([СуммаРуб]=500);

Выборка с вычислением результата
Код:
SELECT *, "USD=" & Format([СуммаРуб]/[КурсUSD],"0.00") as [СуммаUSD] FROM [Данные];

Выборка с сортировкой /вверх, вниз/
Код:
SELECT * FROM [Данные] ORDER BY [СуммаРуб] ASC, [КурсUSD] DESC;
Выборка 1 записи   SELECT TOP 1 * FROM [Данные];

Выборка 25 % записей
Код:
SELECT TOP 25 PERCENT * FROM [Данные] ORDER BY КурсUSD DESC;

Выборка уникальных записей /книг/
Код:
SELECT DISTINCT [Книга] FROM [Данные];

Выборка максимального числа
Код:
SELECT Max(КурсUSD) as MaxUSD From [Данные];

Выборка среднего числа
Код:
SELECT Avg(КурсUSD) as Средний From [Данные];

Выборка минимального числа
Код:
SELECT Min(КурсUSD) as Минимальный From [Данные];

Выборка первого числа
Код:
SELECT First(КурсUSD) as Первый From [Данные];

Выборка последнего числа
Код:
SELECT Last(КурсUSD) as Последний From [Данные];

Выборка суммы
Код:
SELECT Sum(СуммаРуб) as Сумма From [Данные];

Выборка c подсчетом строк
Код:
SELECT Count(КурсUSD) as Кол_во From [Данные];

Выборка из закрытой таблицы
Код:
SELECT * FROM [Данные] WITH OWNERACCESS OPTION

Выборка c группировкой
Код:
SELECT First(Книга) as Книги, avg(СуммаРуб) as [Средняя Цена] FROM [Данные] GROUP BY Книга

Выборка после группировки
Код:
SELECT First(Книга) as Книги, Avg(СуммаРуб) as [Средняя Цена] FROM [Данные] GROUP BY Книга HAVING Avg(СуммаРуб)>350


При разработке запросов Вам потребуются много разных слов, например, *, ALL, AS, FROM, ASC, DESC, TOP, PERCENT, DISTINCT, MAX, MIN, SUM, AVG, FIRST, LAST, COUNT, ORDER BY, WITH OWNERACCESS OPTION,GROUP BY, HAVING. Описание их дано в словаре и в справочной системе.


Словарь
• [1] SELECT (выбрать) - выбирает столбцы для запроса
• [2] FROM (из) - слово определяет имя таблицы или запроса
• [3] *, ALL (все) - слова определяют вариант отбора записей
• [4] TOP (верх), PERCENT (процент) - слова необходимы для получения нескольких записей из таблиц
• [5] AS (как) - слово используется для нового названия поля или таблицы
• [6] DISTINCT (отличающийся) - слово применяется для отбора только уникальных записей из колонки
• [7] WHERE (где) - слово для отбора записей по условному выражению
• [8] ORDER BY, ASC, DESC - слова используются для сортировки записей по возрастанию и убыванию
• [9] GROUP BY, HAVING - первые слова используются для группировки, а третье для отбора записей уже после вычислений (HAVING аналог WHERE)
• [10] MAX, MIN, FIRST, LAST - функции группировки для получения максимального, минимального, первого и последнего числа в выборке.
• [11] SUM, AVG - функции группировки, которые вычисляют сумму, среднее значение и количество записей запроса
• [12] WITH OWNERACCESS OPTION - используется для получения записей из таблицы, которая создана другим пользователем и защищена от просмотра


Пример  соединения с файлами .dbf
Код:
Dim myConnect As New ADODB.Connection
Dim myRecordset As New ADODB.Recordset
Dim sql_448 As String = "Select DATA_F From CPLAT.DBF Where KOD_DN = 448"
myConnect.CursorLocation = CursorLocationEnum.adUseClient
            myConnect.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + _
            "ata Source=D:\SKSDATA\GOS\DBPLAT;" + "Extended Properties=""dBase III;"";"""
            myConnect.Open()
myRecordset = myConnect.Execute(sql_448)
            TextBox2.Text = myRecordset.Fields("ATA_F".Value)


Комментариев нет:

Отправить комментарий

Постоянные читатели

Популярные сообщения