Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual Basic в примерах.docx
Скачиваний:
12
Добавлен:
18.08.2019
Размер:
1.1 Mб
Скачать

Компоненты языка sql

Структурированный язык запросов (SQL) можно использовать как для получения подмноже­ства строк, так и для отбора информации одновременно из двух и более таблиц. SQL позволяет точно специфицировать, какие записи отобрать и в каком порядке.

Оператор SELECT

Оператор SQL SELECT используется для формирования запроса на выборку записей.

Синтаксис SELECT:

SELECT список_полей FROM список_таблиц WHERE критерии ORDER BY список_полей

В следующем примере в таблице Employees отбираются поля LastName (фамилия) и EmployeeID (номер служащего) только тех записей, где EmployeeID - больше 5. Записи отбираются в порядке убывания значений EmployeelD:

SELECT [LastName], [EmployeeID]

FROM Employees

WHERE [EmployeeID] > 5

ORDER BY [EmployeeID] DESC

Предложение WHERE

Предложение WHERE используется для ограничения выбора записей. Знак решетки (#) указывает значения литералов даты. Значения литералов даты, введенные в оператор SQL, должны быть в формате со слэшами – 10 мая 1997 года записывается как 10/05/97.

Ниже показаны различные примеры операторов SQL:

' Базовый синтаксис WHERE

strSQL = “SELECT * FROM Employees WHERE [LastName] = “ & _

“ ’ ” & Text1.Text & “ ’ ”

' Синтаксис WHERE IN

strSQL = "SELECT Employees.[LastName] FROM Employees " & _

"WHERE Employees.Sity IN (‘Иванове’ , ‘Тверь’)”

' Синтаксис WHERE BETWEEN

strSQL = "SELECT [OrderID] FROM Orders WHERE “ & _

“([OrderDate] BETWEEN #01/01/96# AND #12/31/96#)”

StrSQL - "SELECT [OrderID] FROM Orders WHERE " & _

“([OrderDate] BETWEEN #” & CDate(txtStartDate.Text) & “# AND #” & _

CDate (txtEndDate.Text) & "#)”

Предложение ORDER BY

Предложение ORDER BY используется для создания набора записей в специфицирован­ном порядке. Опция ASC указывает порядок возрастания, a DESC — порядок убывания

В следующем примере из таблицы Employees возвращаются все поля; записи набора сортируются по полю LastName (фамилия):

SELECT * FROM Employees ORDER BY [LastName] DESC

Использование оператора SELECT с несколькими таблицами

Для объединения данных из нескольких таблиц можно использовать операцию соединения JOIN. Например, если требуется вывести на экран наименования групп товаров и названия товаров из различных таблиц – можно соединить записи из таблиц Categories и Products.

Предложение INNER JOIN определяет, что, например, требуется получить записи, для которых номер группы (CategoryID) из таблицы Categories соответствует номеру группы из таблицы Products.

В следующем примере соединяется информация из таблицы Categories и таблицы Products:

StrSQL = “SELECT Categories.[CategoryName], “ & _

“Products.[ProductName] “ & _

“FROM Categories “ & _

“INNER JOIN Products ON “ & _

“Products.[CategoryID] = Categories.[CategoryID]”

На следующей иллюстрации показан примерный результат такой операции соединения:

Таблица Categories

CategoryID

CategoryName

1

Мясные

2

Рыбные

7

Концентраты


Таблица Products

ProductID

ProductName

CategoryID

1

Бэкон

1

2

Куриные куб.

7

3

Сосиски

1


INNER JOIN

CategoryName

ProductName

Мясные

Бэкон

Мясные

Сосиски

Концентраты

Куриные куб.


Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]