- •Переменные, константы, типы данных.
- •Массивы
- •Область действия переменных и процедур
- •Модуль vb
- •Инструментальные средства отладки
- •Управляющие конструкции языка vb
- •Элементы языка sql и запросы в форме sql
- •Операторы языка sql для работы с реляционной бд Создание реляционных таблиц
- •Операции соединения таблиц
- •Удаление записей в таблицы.
- •Организация запроса в форме sql
- •Задание условий выборки
- •Групповые функции sql
Операции соединения таблиц
Inner join – можно использовать в любом приложение from она создает симметричное объединение наиболее частого разновидность частного объединения. Записи двух таблиц объединяются если связующие их поля содержат одинаковые значения.
From таблица1 inner join таблица2 on таблица1.none=таблица2.none2
Данный оператор описывает симметричное объединение таблиц по ключам поля1 и поля2 новая запись формируется в том случае если содержатся одинаковое значение ключей связи.
Select студент.*, оценка.* from студенты inner join оценка on студент. [№ зачетки] =
оценка .[№ зачетки]
возможны следующие варианты операторов соединения таблиц
left join (левостороннее) – когда выбираются только записи левой таблице и только те записи правой которые содержат соответствующие ключи связи.
Right join (правостороннее) – когда выбираются все записи правой и только те записи левой которые содержат соответствующие ключи связи.
Select студент.*, оценка.* from студент left join оценка on студент. [№ зачетки] =
Оценка.[№ зачетки]
Select студент.*, оценка.* from студент right join оценка on студент. [№ зачетки] =
Оценка.[№ заетки]
В первом случае создается симметричное объединение по коду поля номер зачетки, при этом записи не выводятся если значение их ключей связи указанное поле не представлено в двух таблицах. Во втором случае выводятся все записи таблицы студент и соответствующие записи таблицы оценка.
Выводятся все записи таблицы оценка и соответствующие записи таблицы студент.
Select студент.*, оценка.*, дисциплина. [наименование дисциплины]
From (студент inner join(оценка inner join(дисциплина on оценка.
[код дисциплины]=дисциплина.[код дисциплины] )) on студент.[№ зачетки]=оценка.[№ зачетки])
Сначала происходит соединение таблиц оценка и дисциплина по ключу связи [код дисциплины] соединение симметричное т.е. если коды дисциплин не совпадают записи этих таблиц не соединяются, затем происходить соединение таблиц студент и оценка по ключу связи [№ зачетки], таким образом при условии совпадения ключей связи на выходе запроса получается результат соединения трех таблиц.
Удаление записей в таблицы.
В исходной таблицы можно удалить отдельные записи или все записи сохранив при этом ее структуру и индексы. При удаление записей в индексированной таблицы автоматически корректируются ее индексы.
Полная чистка таблицы от записей и очистка индексов:
Delete [таблица.*] from выражение where условие отбора
Delete * from таблица
Удаление в таблицы записей связанных с другой таблицей (условие удаление записей) могут относиться к полям связанной таблицы
Delete таблица.* from таблица inner join др. таблица on таблица.[none N]=[другая таблица].[none M] where условие.
Оновление замена значений полей записей.
Изменение значений нескольких полей одной записей или группы записей таблицы удовлетворяющим условиям отбора производиться следующей фразой:
Update таблица set новое значение where условие отбора = значение
Отбор студентов фамилии с В
Update студент set [группа]=”1212”
Where [фамилия ] like ‘B*’ and [дата рождения ]<=#01/01/81#
Изменение в таблцы студент номеров групп обучения путем добавления к ним буквы А если эти группы встречаются в группе студент заочник
Update студент inner join [студент_заочник] on студент.[группа]=
[студент_заочник].[группа] set студент.[группа]=[группа]& “a”